본문 바로가기
스도쿠문제 풀이/AM7 스도쿠풀이

[문제풀이] AM7 스도쿠 2007년 07월 19일 Normal

by 김프로 2007. 7. 20.
  6     3 2     8
          8 3    
7   3   4        
    5 3   1     9
2               4
1     4   6 2    
        7   4   5
    9 1          
8     2 5     1  

※ 풀이과정 입니다. (셀 좌표는 [컬럼,로우])


-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
459 6 14 579 3 2 1579 4579 8
459 12459 124 5679 169 8 3 245679 1267
7 12589 3 569 4 59 1569 2569 126
46 478 5 3 28 1 678 678 9
2 3789 678 5789 89 579 15678 35678 4
1 3789 78 4 89 6 2 3578 37
36 123 126 689 7 39 4 23689 5
3456 23457 9 1 68 34 678 23678 2367
8 347 467 2 5 349 679 1 367

L02 - Hidden Single : [2,3]셀 "8"값은 로우3 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "8"값 제거
L02 - Hidden Single : [5,4]셀 "2"값은 로우4 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "2"값 제거
L02 - Hidden Single : [7,5]셀 "1"값은 로우5 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "1"값 제거
L02 - Hidden Single : [3,1]셀 "1"값은 로우1 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "1"값 제거
L02 - Hidden Single : [9,3]셀 "1"값은 로우3 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "1"값 제거
L02 - Hidden Single : [5,2]셀 "1"값은 로우2 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "1"값 제거
L02 - Hidden Single : [8,3]셀 "2"값은 로우3 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "2"값 제거
L02 - Hidden Single : [8,6]셀 "5"값은 로우6 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "5"값 제거
L02 - Hidden Single : [2,7]셀 "1"값은 로우7 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "1"값 제거
L02 - Hidden Single : [3,7]셀 "2"값은 로우7 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "2"값 제거
L01 - Naked Single : [3,2]셀 "4"값과 관련된 로우, 컬럼, 블럭에서 "4"값 제거

59 6 1 579 3 2 579 479 8
59 259 4 5679 1 8 3 679 67
7 8 3 569 4 59 569 2 1
46 47 5 3 2 1 678 678 9
2 379 678 5789 89 579 1 3678 4
1 379 78 4 89 6 2 5 37
36 1 2 689 7 39 4 3689 5
3456 3457 9 1 68 34 678 3678 2367
8 347 67 2 5 349 679 1 367

L02 - Hidden Single : [8,1]셀 "4"값은 로우1 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "4"값 제거
L02 - Hidden Single : [2,2]셀 "2"값은 로우2 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "2"값 제거
L02 - Hidden Single : [9,8]셀 "2"값은 로우8 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "2"값 제거
L02 - Hidden Single : [2,8]셀 "5"값은 컬럼2 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "5"값 제거
L02 - Hidden Single : [5,8]셀 "6"값은 컬럼5 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "6"값 제거
L02 - Hidden Single : [6,5]셀 "7"값은 컬럼6 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "7"값 제거
L02 - Hidden Single : [4,5]셀 "5"값은 로우5 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "5"값 제거
L02 - Hidden Single : [1,2]셀 "5"값은 로우2 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "5"값 제거
L01 - Naked Single : [1,1]셀 "9"값과 관련된 로우, 컬럼, 블럭에서 "9"값 제거
L01 - Naked Single : [4,1]셀 "7"값과 관련된 로우, 컬럼, 블럭에서 "7"값 제거
L01 - Naked Single : [7,1]셀 "5"값과 관련된 로우, 컬럼, 블럭에서 "5"값 제거
L02 - Hidden Single : [6,3]셀 "5"값은 로우3 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "5"값 제거
L02 - Hidden Single : [4,7]셀 "8"값은 컬럼4 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "8"값 제거

9 6 1 7 3 2 5 4 8
5 2 4 69 1 8 3 679 67
7 8 3 69 4 5 69 2 1
46 47 5 3 2 1 678 678 9
2 39 68 5 89 7 1 368 4
1 379 78 4 89 6 2 5 37
36 1 2 8 7 39 4 369 5
34 5 9 1 6 34 78 378 2
8 347 67 2 5 349 679 1 367

L03 - Naked Pair : 로우8 {1,6}번째 셀 "34"값은 Subset 패턴2, 나머지셀에서 "34"값 제거

9 6 1 7 3 2 5 4 8
5 2 4 69 1 8 3 679 67
7 8 3 69 4 5 69 2 1
46 47 5 3 2 1 678 678 9
2 39 68 5 89 7 1 368 4
1 379 78 4 89 6 2 5 37
36 1 2 8 7 39 4 369 5
34 5 9 1 6 34 78 78 2
8 347 67 2 5 349 679 1 367

L03 - Naked Pair : 블럭9 {4,5}번째 셀 "78"값은 Subset 패턴2, 나머지셀에서 "78"값 제거

9 6 1 7 3 2 5 4 8
5 2 4 69 1 8 3 679 67
7 8 3 69 4 5 69 2 1
46 47 5 3 2 1 678 678 9
2 39 68 5 89 7 1 368 4
1 379 78 4 89 6 2 5 37
36 1 2 8 7 39 4 369 5
34 5 9 1 6 34 78 78 2
8 347 67 2 5 349 69 1 36

L03 - Naked Pair : 컬럼7 {3,9}번째 셀 "69"값은 Subset 패턴2, 나머지셀에서 "69"값 제거

9 6 1 7 3 2 5 4 8
5 2 4 69 1 8 3 679 67
7 8 3 69 4 5 69 2 1
46 47 5 3 2 1 78 678 9
2 39 68 5 89 7 1 368 4
1 379 78 4 89 6 2 5 37
36 1 2 8 7 39 4 369 5
34 5 9 1 6 34 78 78 2
8 347 67 2 5 349 69 1 36

L04 - InterSection Lock : 로우4 vs 블럭6, 블럭6의 "8"값은 반드시 로우4 내에 위치해야 함

9 6 1 7 3 2 5 4 8
5 2 4 69 1 8 3 679 67
7 8 3 69 4 5 69 2 1
46 47 5 3 2 1 78 678 9
2 39 68 5 89 7 1 36 4
1 379 78 4 89 6 2 5 37
36 1 2 8 7 39 4 369 5
34 5 9 1 6 34 78 78 2
8 347 67 2 5 349 69 1 36

L04 - InterSection Lock : 컬럼1 vs 블럭7, 블럭7의 "3"값은 반드시 컬럼1 내에 위치해야 함

9 6 1 7 3 2 5 4 8
5 2 4 69 1 8 3 679 67
7 8 3 69 4 5 69 2 1
46 47 5 3 2 1 78 678 9
2 39 68 5 89 7 1 36 4
1 379 78 4 89 6 2 5 37
36 1 2 8 7 39 4 369 5
34 5 9 1 6 34 78 78 2
8 47 67 2 5 349 69 1 36

L03 - Naked Pair : 컬럼2 {4,9}번째 셀 "47"값은 Subset 패턴2, 나머지셀에서 "47"값 제거

9 6 1 7 3 2 5 4 8
5 2 4 69 1 8 3 679 67
7 8 3 69 4 5 69 2 1
46 47 5 3 2 1 78 678 9
2 39 68 5 89 7 1 36 4
1 39 78 4 89 6 2 5 37
36 1 2 8 7 39 4 369 5
34 5 9 1 6 34 78 78 2
8 47 67 2 5 349 69 1 36

L04 - InterSection Lock : 블럭6 vs 컬럼8, 컬럼8의 "6"값은 반드시 블럭6 내에 위치해야 함

9 6 1 7 3 2 5 4 8
5 2 4 69 1 8 3 79 67
7 8 3 69 4 5 69 2 1
46 47 5 3 2 1 78 678 9
2 39 68 5 89 7 1 36 4
1 39 78 4 89 6 2 5 37
36 1 2 8 7 39 4 39 5
34 5 9 1 6 34 78 78 2
8 47 67 2 5 349 69 1 36

L02 - Hidden Single : [1,7]셀 "6"값은 로우7 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "6"값 제거
L01 - Naked Single : [1,4]셀 "4"값과 관련된 로우, 컬럼, 블럭에서 "4"값 제거
L01 - Naked Single : [2,4]셀 "7"값과 관련된 로우, 컬럼, 블럭에서 "7"값 제거
L01 - Naked Single : [7,4]셀 "8"값과 관련된 로우, 컬럼, 블럭에서 "8"값 제거
L01 - Naked Single : [8,4]셀 "6"값과 관련된 로우, 컬럼, 블럭에서 "6"값 제거
L01 - Naked Single : [8,5]셀 "3"값과 관련된 로우, 컬럼, 블럭에서 "3"값 제거
L01 - Naked Single : [3,6]셀 "8"값과 관련된 로우, 컬럼, 블럭에서 "8"값 제거
L01 - Naked Single : [5,6]셀 "9"값과 관련된 로우, 컬럼, 블럭에서 "9"값 제거
L01 - Naked Single : [9,6]셀 "7"값과 관련된 로우, 컬럼, 블럭에서 "7"값 제거
L01 - Naked Single : [8,7]셀 "9"값과 관련된 로우, 컬럼, 블럭에서 "9"값 제거
L01 - Naked Single : [1,8]셀 "3"값과 관련된 로우, 컬럼, 블럭에서 "3"값 제거
L01 - Naked Single : [6,8]셀 "4"값과 관련된 로우, 컬럼, 블럭에서 "4"값 제거
L01 - Naked Single : [7,8]셀 "7"값과 관련된 로우, 컬럼, 블럭에서 "7"값 제거
L01 - Naked Single : [7,9]셀 "6"값과 관련된 로우, 컬럼, 블럭에서 "6"값 제거
L01 - Naked Single : [9,9]셀 "3"값과 관련된 로우, 컬럼, 블럭에서 "3"값 제거
L01 - Naked Single : [9,2]셀 "6"값과 관련된 로우, 컬럼, 블럭에서 "6"값 제거
L01 - Naked Single : [7,3]셀 "9"값과 관련된 로우, 컬럼, 블럭에서 "9"값 제거

9 6 1 7 3 2 5 4 8
5 2 4 9 1 8 3 7 6
7 8 3 6 4 5 9 2 1
4 7 5 3 2 1 8 6 9
2 9 6 5 8 7 1 3 4
1 3 8 4 9 6 2 5 7
6 1 2 8 7 3 4 9 5
3 5 9 1 6 4 7 8 2
8 4 7 2 5 9 6 1 3

Logic 사용횟수
L01 - Naked Single 48회
L02 - Hidden Single 21회
L03 - Naked Pair 4회
L04 - InterSection Lock 3회

소요시간 : 0분 0.250초

Logic 순서
L01 - Naked Single
L02 - Hidden Single
L03 - Naked Pair
L04 - InterSection Lock
L05 - Hidden Pair
L06 - Naked Triple
L07 - Hidden Triple
L08 - Naked Quad
L09 - Hidden Quad
L10 - X-Wing
L11 - Sword-Fish
L12 - Jelly-Fish
Z99 - Substitution
Z99 - RollbackSudoku

현재 모든로직이 완성되지않아 "L12"번 까지의 풀이법으로 문제를 풀수없는경우 Z99 - Substitution(대입법)을 이용합니다.
L12 - Jelly-Fish 풀이법보다 상위 풀이법은 현재 작업중입니다.

Sudoku K ver3.11.723 by keetekee / Sudoku Programming http://resrc.tistory.com