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

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

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

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


-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
14579 4579 13457 3467 8 1467 1347 2 1346
12478 478 6 5 37 147 9 1347 134
147 47 1347 9 2 1467 8 5 1346
3 1 457 4678 567 4678 2 9 456
45789 45789 457 1 35679 2 345 346 3456
459 6 2 34 359 49 1345 8 7
167 2 9 678 4 5 137 137 138
1457 457 8 27 79 3 6 147 12459
4567 3 457 2678 1 6789 457 47 24589

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

14579 4579 13457 3467 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
147 47 1347 9 2 1467 8 5 1346
3 1 457 4678 567 4678 2 9 456
8 4579 457 1 35679 2 345 346 3456
459 6 2 34 359 49 1 8 7
167 2 9 678 4 5 37 137 138
1457 457 8 27 79 3 6 147 12459
4567 3 457 2678 1 6789 457 47 24589

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

14579 4579 13457 3467 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
147 47 1347 9 2 1467 8 5 1346
3 1 457 478 6 478 2 9 45
8 4579 457 1 3579 2 345 6 345
459 6 2 34 359 49 1 8 7
167 2 9 678 4 5 37 137 138
1457 457 8 27 79 3 6 147 12459
4567 3 457 2678 1 6789 457 47 24589

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

14579 4579 13457 3467 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
147 47 1347 9 2 1467 8 5 1346
3 1 457 478 6 478 2 9 45
8 4579 457 1 579 2 345 6 345
459 6 2 34 359 49 1 8 7
167 2 9 678 4 5 37 137 138
1457 457 8 27 79 3 6 147 12459
4567 3 457 2678 1 6789 457 47 24589

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

4579 4579 13457 3467 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
47 47 1347 9 2 1467 8 5 1346
3 1 457 478 6 478 2 9 45
8 4579 457 1 579 2 345 6 345
459 6 2 34 359 49 1 8 7
167 2 9 678 4 5 37 137 138
1457 457 8 27 79 3 6 147 12459
4567 3 457 2678 1 6789 457 47 24589

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

4579 4579 13457 3467 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
47 47 13 9 2 16 8 5 136
3 1 457 478 6 478 2 9 45
8 4579 457 1 579 2 345 6 345
459 6 2 34 359 49 1 8 7
167 2 9 678 4 5 37 137 138
1457 457 8 27 79 3 6 147 12459
4567 3 457 2678 1 6789 457 47 24589

L03 - Naked Pair : 블럭1 {7,8}번째 셀 "47"값은 Subset 패턴2, 나머지셀에서 "47"값 제거

59 59 135 3467 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
47 47 13 9 2 16 8 5 136
3 1 457 478 6 478 2 9 45
8 4579 457 1 579 2 345 6 345
459 6 2 34 359 49 1 8 7
167 2 9 678 4 5 37 137 138
1457 457 8 27 79 3 6 147 12459
4567 3 457 2678 1 6789 457 47 24589

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

59 59 13 3467 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
47 47 13 9 2 16 8 5 136
3 1 457 478 6 478 2 9 45
8 4579 457 1 579 2 345 6 345
459 6 2 34 359 49 1 8 7
167 2 9 678 4 5 37 137 138
1457 457 8 27 79 3 6 147 12459
4567 3 457 2678 1 6789 457 47 24589

L05 - Hidden Pair : 컬럼9 {8,9}번째 셀 "29"값은 Subset 패턴2, {8,9}번째 셀 "29"(이)가 아닌값 제거

59 59 13 3467 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
47 47 13 9 2 16 8 5 136
3 1 457 478 6 478 2 9 45
8 4579 457 1 579 2 345 6 345
459 6 2 34 359 49 1 8 7
167 2 9 678 4 5 37 137 138
1457 457 8 27 79 3 6 147 29
4567 3 457 2678 1 6789 457 47 29

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

59 59 13 3467 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
47 47 13 9 2 16 8 5 136
3 1 457 478 6 478 2 9 45
8 4579 457 1 579 2 34 6 345
459 6 2 34 359 49 1 8 7
167 2 9 67 4 5 37 137 8
1457 457 8 27 79 3 6 147 29
467 3 47 2678 1 6789 5 47 29

L03 - Naked Pair : 로우9 {3,8}번째 셀 "47"값은 Subset 패턴2, 나머지셀에서 "47"값 제거
L01 - Naked Single : [1,9]셀 "6"값과 관련된 로우, 컬럼, 블럭에서 "6"값 제거

59 59 13 3467 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
47 47 13 9 2 16 8 5 136
3 1 457 478 6 478 2 9 45
8 4579 457 1 579 2 34 6 345
459 6 2 34 359 49 1 8 7
17 2 9 67 4 5 37 137 8
1457 457 8 27 79 3 6 147 29
6 3 47 28 1 89 5 47 29

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

59 59 13 347 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
47 47 13 9 2 16 8 5 136
3 1 457 478 6 478 2 9 45
8 4579 457 1 579 2 34 6 345
459 6 2 34 359 49 1 8 7
17 2 9 6 4 5 37 137 8
1457 457 8 27 79 3 6 147 29
6 3 47 28 1 89 5 47 29

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

59 59 13 347 8 1467 347 2 1346
2 8 6 5 37 147 9 1347 134
47 47 13 9 2 16 8 5 136
3 1 457 478 6 478 2 9 45
8 479 457 1 579 2 34 6 345
49 6 2 34 359 49 1 8 7
17 2 9 6 4 5 37 137 8
1457 457 8 27 79 3 6 147 29
6 3 47 28 1 89 5 47 29

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

59 59 13 47 8 1467 34 2 1346
2 8 6 5 3 14 9 7 14
47 47 13 9 2 16 8 5 136
3 1 45 478 6 478 2 9 45
8 479 45 1 79 2 34 6 345
49 6 2 3 5 49 1 8 7
1 2 9 6 4 5 7 3 8
45 45 8 27 79 3 6 1 29
6 3 7 28 1 89 5 4 29

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

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

Logic 사용횟수
L01 - Naked Single 54회
L02 - Hidden Single 14회
L03 - Naked Pair 4회
L04 - InterSection Lock 3회
L05 - Hidden Pair 1회

소요시간 : 0분 0.219초

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