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

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

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

※ 풀이과정 입니다. (셀 좌표는 [컬럼,로우])
-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
8 1347 13467 345 1245 15 9 23456 2467
136 9 2 7 145 15 3456 3456 468
5 347 347 6 249 8 2347 234 1
7 6 1389 459 4589 59 1245 12459 24
4 58 89 1 3 2 567 569 67
12 125 19 459 45679 5679 124567 8 3
9 1247 1467 8 167 3 1246 1246 5
1236 123 136 59 1569 4 8 7 26
136 13478 5 2 167 167 1346 1346 9

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

8 1347 1467 345 124 15 9 23456 2467
136 9 2 7 14 15 3456 3456 8
5 347 47 6 9 8 2347 234 1
7 6 3 45 8 59 1245 12459 24
4 5 89 1 3 2 67 69 67
12 12 19 45 467 5679 124567 8 3
9 1247 1467 8 167 3 1246 1246 5
1236 123 16 9 5 4 8 7 26
136 8 5 2 167 167 1346 1346 9

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

8 147 1467 3 2 15 9 456 467
136 9 2 7 4 15 356 356 8
5 347 47 6 9 8 2347 234 1
7 6 3 45 8 9 1245 1245 24
4 5 8 1 3 2 67 9 67
12 12 9 45 67 567 124567 8 3
9 1247 1467 8 167 3 1246 1246 5
1236 123 16 9 5 4 8 7 26
136 8 5 2 167 167 1346 1346 9

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

8 147 1467 3 2 15 9 456 467
136 9 2 7 4 15 356 356 8
5 347 47 6 9 8 2347 234 1
7 6 3 45 8 9 1245 1245 24
4 5 8 1 3 2 67 9 67
12 12 9 45 67 567 4567 8 3
9 1247 1467 8 167 3 1246 1246 5
1236 123 16 9 5 4 8 7 26
136 8 5 2 167 167 1346 1346 9

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

8 147 1467 3 2 15 9 456 467
136 9 2 7 4 15 356 356 8
5 347 47 6 9 8 2347 234 1
7 6 3 45 8 9 1245 1245 24
4 5 8 1 3 2 67 9 67
12 12 9 45 67 67 4567 8 3
9 1247 1467 8 167 3 1246 1246 5
1236 123 16 9 5 4 8 7 26
136 8 5 2 167 67 1346 1346 9

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

8 147 1467 3 2 15 9 456 467
136 9 2 7 4 15 356 356 8
5 347 47 6 9 8 2347 234 1
7 6 3 45 8 9 1245 1245 24
4 5 8 1 3 2 67 9 67
12 12 9 45 67 67 45 8 3
9 1247 1467 8 167 3 1246 1246 5
1236 123 16 9 5 4 8 7 26
136 8 5 2 167 67 1346 1346 9

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

8 147 1467 3 2 15 9 456 467
136 9 2 7 4 15 356 356 8
5 347 47 6 9 8 2347 234 1
7 6 3 45 8 9 1245 1245 24
4 5 8 1 3 2 67 9 67
12 12 9 45 67 67 45 8 3
9 247 467 8 167 3 1246 1246 5
1236 123 16 9 5 4 8 7 26
36 8 5 2 167 67 1346 1346 9

L04 - InterSection Lock : 로우8 vs 블럭7, 블럭7의 "3"값은 반드시 로우8 내에 위치해야 함
L01 - Naked Single : [1,9]셀 "6"값과 관련된 로우, 컬럼, 블럭에서 "6"값 제거
L01 - Naked Single : [6,9]셀 "7"값과 관련된 로우, 컬럼, 블럭에서 "7"값 제거
L01 - Naked Single : [6,6]셀 "6"값과 관련된 로우, 컬럼, 블럭에서 "6"값 제거
L01 - Naked Single : [3,8]셀 "1"값과 관련된 로우, 컬럼, 블럭에서 "1"값 제거
L01 - Naked Single : [5,9]셀 "1"값과 관련된 로우, 컬럼, 블럭에서 "1"값 제거
L01 - Naked Single : [5,7]셀 "6"값과 관련된 로우, 컬럼, 블럭에서 "6"값 제거

8 147 467 3 2 15 9 456 467
13 9 2 7 4 15 356 356 8
5 347 47 6 9 8 2347 234 1
7 6 3 45 8 9 1245 1245 24
4 5 8 1 3 2 67 9 67
12 12 9 45 7 6 45 8 3
9 247 47 8 6 3 124 124 5
23 23 1 9 5 4 8 7 26
6 8 5 2 1 7 34 34 9

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

8 17 67 3 2 15 9 56 4
13 9 2 7 4 15 35 356 8
5 347 47 6 9 8 237 23 1
7 6 3 45 8 9 145 145 2
4 5 8 1 3 2 6 9 7
12 12 9 45 7 6 45 8 3
9 247 47 8 6 3 124 124 5
23 23 1 9 5 4 8 7 6
6 8 5 2 1 7 34 34 9

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

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

Logic 사용횟수
L01 - Naked Single 53회
L02 - Hidden Single 16회
L03 - Naked Pair 3회
L04 - InterSection Lock 2회

소요시간 : 0분 0.218초

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