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

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

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

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


-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
79 3 4578 2789 2789 1 248 2478 2468
6 4789 478 23789 5 4789 1 23478 248
2 1478 478 6 378 478 348 9 5
37 27 9 4 12678 5678 258 1258 28
8 247 1 279 279 579 6 245 3
5 24 246 1289 12689 3 7 1248 2489
4 6 58 1389 1389 2 3589 358 7
79 25789 3 789 4 6789 2589 258 1
179 12789 278 5 13789 789 23489 6 2489

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

79 3 5 2789 2789 1 248 2478 6
6 4789 47 23789 5 4789 1 23478 248
2 1 47 6 378 478 348 9 5
3 27 9 4 6 578 258 1 28
8 247 1 279 279 579 6 245 3
5 24 6 1289 1289 3 7 248 2489
4 6 8 139 139 2 359 35 7
79 2579 3 789 4 6 2589 258 1
179 279 27 5 13789 789 23489 6 2489

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

9 3 5 278 278 1 248 2478 6
6 8 47 2379 5 479 1 2347 24
2 1 47 6 378 478 348 9 5
3 27 9 4 6 578 258 1 28
8 247 1 279 279 579 6 245 3
5 24 6 128 128 3 7 248 9
4 6 8 139 139 2 359 35 7
7 5 3 89 4 6 289 28 1
1 9 2 5 378 78 348 6 48

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

9 3 5 278 278 1 4 78 6
6 8 47 379 5 479 1 37 2
2 1 47 6 378 478 38 9 5
3 27 9 4 6 57 25 1 8
8 247 1 279 279 579 6 245 3
5 24 6 128 128 3 7 24 9
4 6 8 139 139 2 359 35 7
7 5 3 89 4 6 289 28 1
1 9 2 5 378 78 38 6 4

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

9 3 5 278 278 1 4 78 6
6 8 47 379 5 479 1 37 2
2 1 47 6 378 478 38 9 5
3 27 9 4 6 57 25 1 8
8 247 1 279 279 579 6 245 3
5 24 6 18 18 3 7 24 9
4 6 8 139 139 2 359 35 7
7 5 3 89 4 6 289 28 1
1 9 2 5 378 78 38 6 4

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

9 3 5 278 278 1 4 78 6
6 8 47 379 5 479 1 37 2
2 1 47 6 378 478 38 9 5
3 27 9 4 6 57 25 1 8
8 247 1 279 279 579 6 245 3
5 24 6 18 18 3 7 24 9
4 6 8 139 139 2 59 35 7
7 5 3 89 4 6 29 28 1
1 9 2 5 378 78 38 6 4

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

9 3 5 278 278 1 4 78 6
6 8 47 379 5 479 1 37 2
2 1 47 6 378 478 38 9 5
3 27 9 4 6 57 25 1 8
8 47 1 279 279 579 6 45 3
5 24 6 18 18 3 7 24 9
4 6 8 139 139 2 59 35 7
7 5 3 89 4 6 29 28 1
1 9 2 5 378 78 38 6 4

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

9 3 5 278 278 1 4 78 6
6 8 47 379 5 479 1 37 2
2 1 47 6 378 478 38 9 5
3 27 9 4 6 57 25 1 8
8 47 1 279 279 579 6 45 3
5 24 6 18 18 3 7 24 9
4 6 8 139 19 2 59 35 7
7 5 3 89 4 6 29 28 1
1 9 2 5 378 78 38 6 4

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

9 3 5 278 278 1 4 78 6
6 8 47 379 5 479 1 37 2
2 1 47 6 37 478 38 9 5
3 27 9 4 6 57 25 1 8
8 47 1 279 279 579 6 45 3
5 24 6 18 18 3 7 24 9
4 6 8 139 19 2 59 35 7
7 5 3 89 4 6 29 28 1
1 9 2 5 37 78 38 6 4

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

9 3 5 278 28 1 4 78 6
6 8 47 379 5 479 1 37 2
2 1 47 6 37 478 38 9 5
3 27 9 4 6 57 25 1 8
8 47 1 279 29 579 6 45 3
5 24 6 18 18 3 7 24 9
4 6 8 139 19 2 59 35 7
7 5 3 89 4 6 29 28 1
1 9 2 5 37 78 38 6 4

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

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

Logic 사용횟수
L01 - Naked Single 52회
L02 - Hidden Single 17회
L03 - Naked Pair 3회
L04 - InterSection Lock 2회
L10 - X-Wing 2회
Z99 - Substitution 1회

소요시간 : 0분 0.297초

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