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

[문제풀이] AM7 스도쿠 2007년 06월 27일 Normal

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

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

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

-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
1247 12679 8 237 12369 5 134 14 1349
3 129 5 8 4 29 7 6 19
147 1679 1679 37 1369 679 1348 1458 2
578 6789 2 457 589 1 48 3 467
1578 1678 3 2457 258 2478 9 12478 1467
178 4 179 6 2389 2789 5 1278 17
9 12378 17 245 2568 2468 134 1457 13457
6 5 4 1 7 3 2 9 8
1278 12378 17 9 258 248 6 1457 13457

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

127 1279 8 27 6 5 13 14 1349
3 129 5 8 4 29 7 6 19
4 79 6 3 1 79 8 5 2
578 678 2 57 9 1 4 3 67
1578 1678 3 2457 258 2478 9 1278 167
178 4 9 6 3 278 5 1278 17
9 12378 17 245 258 6 13 147 13457
6 5 4 1 7 3 2 9 8
1278 12378 17 9 258 248 6 147 13457

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

127 1279 8 27 6 5 13 14 1349
3 129 5 8 4 29 7 6 19
4 79 6 3 1 79 8 5 2
578 678 2 57 9 1 4 3 67
1578 1678 3 2457 258 2478 9 1278 167
178 4 9 6 3 278 5 1278 17
9 238 17 245 258 6 13 147 13457
6 5 4 1 7 3 2 9 8
28 238 17 9 258 248 6 147 13457

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

127 1279 8 27 6 5 13 14 1349
3 129 5 8 4 29 7 6 19
4 79 6 3 1 79 8 5 2
578 678 2 57 9 1 4 3 67
157 167 3 2457 258 2478 9 1278 167
17 4 9 6 3 278 5 1278 17
9 238 17 245 258 6 13 147 13457
6 5 4 1 7 3 2 9 8
28 238 17 9 258 248 6 147 13457

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

127 1279 8 27 6 5 13 14 1349
3 129 5 8 4 29 7 6 19
4 79 6 3 1 79 8 5 2
578 678 2 57 9 1 4 3 67
157 167 3 2457 258 2478 9 1278 167
17 4 9 6 3 28 5 28 17
9 238 17 245 258 6 13 147 13457
6 5 4 1 7 3 2 9 8
28 238 17 9 258 248 6 147 13457

L05 - Hidden Pair : 컬럼8 {5,6}번째 셀 "28"값은 Subset 패턴2, {5,6}번째 셀 "28"값으로 변경

127 1279 8 27 6 5 13 14 1349
3 129 5 8 4 29 7 6 19
4 79 6 3 1 79 8 5 2
578 678 2 57 9 1 4 3 67
157 167 3 2457 258 2478 9 28 167
17 4 9 6 3 28 5 28 17
9 238 17 245 258 6 13 147 13457
6 5 4 1 7 3 2 9 8
28 238 17 9 258 248 6 147 13457

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

127 1279 8 27 6 5 13 14 1349
3 129 5 8 4 29 7 6 19
4 79 6 3 1 79 8 5 2
578 678 2 57 9 1 4 3 67
157 167 3 2457 258 2478 9 28 167
17 4 9 6 3 28 5 28 17
9 238 17 245 258 6 13 147 1345
6 5 4 1 7 3 2 9 8
28 238 17 9 258 248 6 147 1345

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

127 1279 8 27 6 5 13 14 349
3 129 5 8 4 29 7 6 9
4 79 6 3 1 79 8 5 2
578 678 2 57 9 1 4 3 67
157 167 3 2457 258 2478 9 28 167
17 4 9 6 3 28 5 28 17
9 238 17 245 258 6 13 147 345
6 5 4 1 7 3 2 9 8
28 238 17 9 258 248 6 147 345

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

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

Logic 사용횟수
L01 - Naked Single 54회
L02 - Hidden Single 10회
L03 - Naked Pair 2회
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(대입법)을 이용합니다.
대입한 값이 올바른 정답이 아닐경우 Z99 - RollbackSudoku을 이용해 대입이전 상태로 돌아갑니다.

L12 풀이법보다 상위 풀이법은 현재 작업중입니다.

Sudoku K ver3.11.534 by keetekee