본문 바로가기
스도쿠문제 풀이/데일리 스도쿠풀이

[문제풀이] The Daily Sudoku 2007년 07월 18일 VeryHard

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

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


-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
256 1 4 8 7 29 3 269 269
2378 237 9 4 6 23 5 27 1
23567 23567 356 1235 159 1239 469 8 24679
1567 567 156 9 3 168 2 4 5678
134567 35679 1356 1256 15 1268 689 15679 356789
1356 8 2 156 4 7 69 1569 3569
12356 4 1356 1367 19 1369 689 2569 25689
9 236 7 36 8 5 1 26 246
156 56 8 16 2 4 7 3 569

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

5 1 4 8 7 2 3 9 6
8 27 9 4 6 3 5 27 1
2367 2367 36 15 159 19 4 8 27
167 67 156 9 3 168 2 4 578
4 9 1356 1256 15 168 68 1567 3578
136 8 2 156 4 7 9 156 35
1236 4 136 7 19 169 68 256 258
9 236 7 36 8 5 1 26 4
16 5 8 16 2 4 7 3 9

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

5 1 4 8 7 2 3 9 6
8 27 9 4 6 3 5 27 1
27 3 6 15 159 19 4 8 27
167 67 15 9 3 168 2 4 578
4 9 135 2 15 168 68 1567 3578
136 8 2 156 4 7 9 156 35
1236 4 13 7 19 169 68 256 258
9 26 7 3 8 5 1 26 4
16 5 8 16 2 4 7 3 9

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

5 1 4 8 7 2 3 9 6
8 27 9 4 6 3 5 27 1
27 3 6 15 159 19 4 8 27
167 67 15 9 3 168 2 4 58
4 9 135 2 15 168 68 1567 3578
136 8 2 156 4 7 9 156 35
1236 4 13 7 19 169 68 256 258
9 26 7 3 8 5 1 26 4
16 5 8 16 2 4 7 3 9

L10 - X-Wing : [로우2,8] vs [컬럼2,8] 교차점 "2"값, 컬럼2,8 에서 로우2,8 제외한 나머지셀의 "2"값 제거

5 1 4 8 7 2 3 9 6
8 27 9 4 6 3 5 27 1
27 3 6 15 159 19 4 8 27
167 67 15 9 3 168 2 4 58
4 9 135 2 15 168 68 1567 3578
136 8 2 156 4 7 9 156 35
1236 4 13 7 19 169 68 56 258
9 26 7 3 8 5 1 26 4
16 5 8 16 2 4 7 3 9

Z99 - Substitution : 현재적용된 로직으로 더 이상 문제를 풀수없어 대입법을 사용합니다. [2,2]셀 "27"값중 "2"값 대입
L01 - Naked Single : [2,2]셀 "2"값과 관련된 로우, 컬럼, 블럭에서 "2"값 제거
L01 - Naked Single : [8,2]셀 "7"값과 관련된 로우, 컬럼, 블럭에서 "7"값 제거
L01 - Naked Single : [1,3]셀 "7"값과 관련된 로우, 컬럼, 블럭에서 "7"값 제거
L01 - Naked Single : [9,3]셀 "2"값과 관련된 로우, 컬럼, 블럭에서 "2"값 제거
L01 - Naked Single : [2,8]셀 "6"값과 관련된 로우, 컬럼, 블럭에서 "6"값 제거
L01 - Naked Single : [1,9]셀 "1"값과 관련된 로우, 컬럼, 블럭에서 "1"값 제거
L01 - Naked Single : [4,9]셀 "6"값과 관련된 로우, 컬럼, 블럭에서 "6"값 제거
L01 - Naked Single : [1,4]셀 "6"값과 관련된 로우, 컬럼, 블럭에서 "6"값 제거
L01 - Naked Single : [1,6]셀 "3"값과 관련된 로우, 컬럼, 블럭에서 "3"값 제거
L01 - Naked Single : [9,6]셀 "5"값과 관련된 로우, 컬럼, 블럭에서 "5"값 제거
L01 - Naked Single : [9,7]셀 "8"값과 관련된 로우, 컬럼, 블럭에서 "8"값 제거

5 1 4 8 7 2 3 9 6
8 2 9 4 6 3 5 7 1
7 3 6 15 159 19 4 8 2
6 7 15 9 3 18 2 4 Error
4 9 15 2 15 168 68 16 37
3 8 2 1 4 7 9 16 5
2 4 3 7 19 19 6 56 8
9 6 7 3 8 5 1 2 4
1 5 8 6 2 4 7 3 9

Z99 - RollbackSudoku : 오류발생 [2,2]셀 "27"값 중 "2" 대입 이전상태로 복원

5 1 4 8 7 2 3 9 6
8 27 9 4 6 3 5 27 1
27 3 6 15 159 19 4 8 27
167 67 15 9 3 168 2 4 58
4 9 135 2 15 168 68 1567 3578
136 8 2 156 4 7 9 156 35
1236 4 13 7 19 169 68 56 258
9 26 7 3 8 5 1 26 4
16 5 8 16 2 4 7 3 9

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

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

Logic 사용횟수
L01 - Naked Single 65회
L02 - Hidden Single 14회
L04 - InterSection Lock 1회
L10 - X-Wing 1회
Z99 - Substitution 2회
Z99 - RollbackSudoku 1회

소요시간 : 0분 0.328초

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