2012-10-19 4 views
-2

Sudoku ex1은/확인 I가 가능 자릿수를 제거 할 수 스도쿠 해결하지만 어려운 함수

를 구성 할 수있다 (1), (2) 셀 D [1,2] 및 D의 [2,2]. 왜냐하면 (8)과 (9)는 그 세포에서만 가능하기 때문에 그 세포는 (8과 9) 또는 (9와 8)입니다. 이것은 숫자 (1)과 (2)가 D 블록의 세 번째 줄에 있음을 의미합니다. 그래서 셀 A (3)에서 숫자 (1)의 가능성을 제거 할 수 있습니다.

지난 40 시간 동안이 기능을 구성했지만 관리 할 수 ​​없었습니다. 이 유형의 지능형 문제를 감지 할 수있는 사람이 있습니까 (n 개의 셀 수가있을 수 있기 때문에 몇 가지 가능성을 없앨 수 있습니다. 우리의 경우 2 자리 8 및 9는 2 셀에 존재할 수 있습니다. 1,2] 및 D [2,2]).

다른 스도쿠 기능에 대한 조언을 구하지 마십시오. 나는 이미 그것들을 만들었고, 내가 프로그래밍 할 수 없었던 유일한 알고리즘은 이것이다. Btw를 사용하면 열 [i]에 대한 가능성을 구성하는 문자열 인 r [i]와 열에 대한 c [i] 및 블록 (예 : b [4] (이 이미지 블록 A) = 1,2,3,4,5,6,7은 이미 정의 되었기 때문에). 감사합니다

+0

수행 한 작업을 표시하십시오. – trailmax

+0

나는 이것을 할 수있는 방법조차 생각할 수 없었다. 당신이 할 수있는 방법을 만들 수있는 방법을 암시 할 수 있다면 –

+0

질문을 다시하십시오. 3 번 읽은 후에, 나는 아직도 당신이 정확히 무엇을하려고하는지, 왜 그렇게 어려운지 이해하지 못합니다. – trailmax

답변

1

난 정말 문제가 보이지 않는다, 당신은 기본적으로 이미 당신의 문제에 대답했다. 일반적으로 다음을 수행해야합니다.

1 단계 : 한 블록의 9 개 셀 전체를 반복하고 (1)이 두 개의 셀에만 포함되어 있는지 확인하십시오.

2 단계 : 그렇지 않은 경우 다음 번호를 시도하십시오. 예인 경우 모든 9 개의 셀을 반복하고 나머지 2 개의 셀에도 (2)가 있는지 확인하십시오.

3 단계 : 그렇지 않은 경우 다음 번호를 확인하십시오. 예인 경우, 발견 한 두 숫자를 제외하고 두 셀의 다른 가능성을 제거하십시오. 그러면 기본적으로 완료됩니다.

4 단계 : (1) (또는 2 단계의 "not"부분에서 선택한 큰 숫자)에 일치하는 번호가 없으면 1 단계에서 다시 시작하지만 다음 번호를 시도하십시오. 이미 8시에, 당신은 멈출 수 있습니다.

결국 3 셀, 4 숫자에서 3 개의 숫자에 대해 동일한 패턴을 동적으로 확장 할 수 있습니다.

+0

Phil u r 대단히 고마워. –

+0

아무런 문제가 없습니다. 물론 셀뿐만 아니라 모든 행이나 열에 대해서도 동일한 알고리즘을 사용할 수 있습니다. – phil13131