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

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

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

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


-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
5 23 2378 6 27 4 1278 278 9
4 1 2679 8 2579 79 2567 3 57
289 269 26789 1 2579 3 25678 4 578
389 349 34589 2 34 1 345789 6 34578
6 2349 23489 7 34 5 23489 289 1
123 7 12345 9 346 8 2345 25 345
19 5 1469 3 1789 2 4789 789 478
239 8 2349 5 79 79 3479 1 6
7 39 139 4 189 6 3589 589 2

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

5 23 2378 6 27 4 1 278 9
4 1 279 8 2579 79 6 3 57
89 6 2789 1 2579 3 2578 4 578
389 349 3589 2 34 1 45789 6 34578
6 2349 2389 7 34 5 2489 289 1
13 7 1235 9 6 8 245 25 345
19 5 6 3 1789 2 4789 789 478
2 8 4 5 79 79 3 1 6
7 39 139 4 189 6 589 589 2

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

5 23 2378 6 27 4 1 278 9
4 1 279 8 2579 79 6 3 57
89 6 2789 1 2579 3 2578 4 578
389 349 3589 2 34 1 45789 6 34578
6 2349 2389 7 34 5 2489 289 1
13 7 1235 9 6 8 245 25 345
19 5 6 3 18 2 4789 789 478
2 8 4 5 79 79 3 1 6
7 39 139 4 18 6 589 589 2

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

5 23 2378 6 27 4 1 278 9
4 1 279 8 2579 79 6 3 57
89 6 2789 1 2579 3 2578 4 578
389 349 3589 2 34 1 5789 6 3578
6 2349 2389 7 34 5 289 289 1
13 7 1235 9 6 8 245 25 345
19 5 6 3 18 2 4789 789 478
2 8 4 5 79 79 3 1 6
7 39 139 4 18 6 589 589 2

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

5 23 2378 6 27 4 1 278 9
4 1 279 8 2579 79 6 3 57
89 6 2789 1 2579 3 2578 4 578
389 49 589 2 34 1 5789 6 3578
6 249 289 7 34 5 289 289 1
13 7 125 9 6 8 245 25 345
19 5 6 3 18 2 4789 789 478
2 8 4 5 79 79 3 1 6
7 39 139 4 18 6 589 589 2

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

5 2 3 6 7 4 1 8 9
4 1 7 8 2 9 6 3 5
89 6 89 1 5 3 2 4 7
38 9 58 2 4 1 578 6 38
6 4 28 7 3 5 89 29 1
13 7 125 9 6 8 45 25 34
19 5 6 3 18 2 4789 79 48
2 8 4 5 9 7 3 1 6
7 3 19 4 18 6 589 59 2

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

5 2 3 6 7 4 1 8 9
4 1 7 8 2 9 6 3 5
89 6 89 1 5 3 2 4 7
38 9 58 2 4 1 7 6 38
6 4 28 7 3 5 89 29 1
13 7 125 9 6 8 45 25 34
19 5 6 3 18 2 489 79 48
2 8 4 5 9 7 3 1 6
7 3 19 4 18 6 589 59 2

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

5 2 3 6 7 4 1 8 9
4 1 7 8 2 9 6 3 5
89 6 89 1 5 3 2 4 7
38 9 5 2 4 1 7 6 38
6 4 28 7 3 5 89 29 1
13 7 12 9 6 8 45 25 34
19 5 6 3 18 2 489 79 48
2 8 4 5 9 7 3 1 6
7 3 19 4 18 6 589 59 2

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

5 2 3 6 7 4 1 8 9
4 1 7 8 2 9 6 3 5
89 6 89 1 5 3 2 4 7
38 9 5 2 4 1 7 6 38
6 4 28 7 3 5 89 29 1
13 7 12 9 6 8 45 25 34
19 5 6 3 18 2 489 7 48
2 8 4 5 9 7 3 1 6
7 3 19 4 18 6 589 59 2

Z99 - Substitution : 현재적용된 로직으로 더 이상 문제를 풀수없어 대입법을 사용합니다. [1,3]셀 "89"값중 "8"값 대입

5 2 3 6 7 4 1 8 9
4 1 7 8 2 9 6 3 5
8 6 89 1 5 3 2 4 7
38 9 5 2 4 1 7 6 38
6 4 28 7 3 5 89 29 1
13 7 12 9 6 8 45 25 34
19 5 6 3 18 2 489 7 48
2 8 4 5 9 7 3 1 6
7 3 19 4 18 6 589 59 2

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

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

Logic 사용횟수
L01 - Naked Single 55회
L02 - Hidden Single 12회
L03 - Naked Pair 1회
L04 - InterSection Lock 2회
Z99 - Substitution 1회

소요시간 : 0분 0.250초

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