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

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

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

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


-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
136 14678 3478 12368 1368 9 178 5 18
156 2 589 168 7 568 3 19 4
135 1578 35789 4 1358 58 2 179 6
7 568 58 3689 35689 1 4 2 389
9 14568 458 2368 34568 24568 168 136 7
16 3 2 7 4689 468 1689 169 5
8 57 6 19 149 3 1579 1479 129
4 57 1 69 2 67 5679 8 39
23 9 37 5 1468 4678 167 13467 123

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

136 1467 347 2 136 9 17 5 8
156 2 589 168 7 568 3 19 4
135 1578 35789 4 1358 58 2 179 6
7 568 58 368 3568 1 4 2 9
9 14568 458 368 34568 2 168 136 7
16 3 2 7 4689 468 168 16 5
8 57 6 19 149 3 579 479 2
4 57 1 69 2 67 5679 8 3
23 9 37 5 468 4678 67 467 1

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

136 1467 47 2 136 9 17 5 8
156 2 589 168 7 568 3 19 4
135 1578 5789 4 1358 58 2 179 6
7 568 58 3 568 1 4 2 9
9 14568 458 68 568 2 16 3 7
16 3 2 7 9 4 8 16 5
8 57 6 19 14 3 579 479 2
4 57 1 69 2 67 5679 8 3
2 9 3 5 468 678 67 467 1

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

136 146 47 2 136 9 17 5 8
156 2 589 168 7 568 3 19 4
135 18 5789 4 1358 58 2 179 6
7 68 58 3 568 1 4 2 9
9 1468 458 68 568 2 16 3 7
16 3 2 7 9 4 8 16 5
8 57 6 19 14 3 579 479 2
4 57 1 69 2 67 5679 8 3
2 9 3 5 468 678 67 467 1

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

136 146 47 2 136 9 17 5 8
156 2 89 168 7 568 3 19 4
135 18 789 4 1358 58 2 179 6
7 68 58 3 568 1 4 2 9
9 1468 458 68 568 2 16 3 7
16 3 2 7 9 4 8 16 5
8 57 6 19 14 3 579 479 2
4 57 1 69 2 67 5679 8 3
2 9 3 5 468 678 67 467 1

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

136 146 47 2 136 9 17 5 8
156 2 89 168 7 568 3 19 4
135 18 789 4 138 58 2 179 6
7 68 58 3 568 1 4 2 9
9 1468 458 68 568 2 16 3 7
16 3 2 7 9 4 8 16 5
8 57 6 19 14 3 579 479 2
4 57 1 69 2 67 5679 8 3
2 9 3 5 468 678 67 467 1

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

136 146 47 2 136 9 17 5 8
156 2 89 168 7 568 3 19 4
135 18 789 4 138 58 2 179 6
7 68 58 3 568 1 4 2 9
9 1468 458 68 568 2 16 3 7
16 3 2 7 9 4 8 16 5
8 57 6 19 14 3 579 47 2
4 57 1 69 2 67 5679 8 3
2 9 3 5 468 678 67 467 1

L05 - Hidden Pair : 로우3 {3,8}번째 셀 "79"값은 Subset 패턴2, {3,8}번째 셀 "79"(이)가 아닌값 제거

136 146 47 2 136 9 17 5 8
156 2 89 168 7 568 3 19 4
135 18 79 4 138 58 2 79 6
7 68 58 3 568 1 4 2 9
9 1468 458 68 568 2 16 3 7
16 3 2 7 9 4 8 16 5
8 57 6 19 14 3 579 47 2
4 57 1 69 2 67 5679 8 3
2 9 3 5 468 678 67 467 1

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

136 146 47 2 136 9 17 5 8
156 2 89 168 7 568 3 19 4
135 18 79 4 138 58 2 79 6
7 68 58 3 568 1 4 2 9
9 1468 458 68 568 2 16 3 7
16 3 2 7 9 4 8 16 5
8 57 6 19 14 3 59 47 2
4 57 1 69 2 67 59 8 3
2 9 3 5 468 678 67 467 1

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

136 146 47 2 136 9 17 5 8
156 2 89 168 7 568 3 19 4
135 18 79 4 138 58 2 79 6
7 68 58 3 568 1 4 2 9
9 1468 458 68 568 2 16 3 7
16 3 2 7 9 4 8 16 5
8 57 6 19 14 3 59 47 2
4 57 1 69 2 67 59 8 3
2 9 3 5 48 78 67 467 1

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

136 16 4 2 136 9 17 5 8
156 2 89 168 7 568 3 19 4
135 18 79 4 138 58 2 79 6
7 68 58 3 568 1 4 2 9
9 1468 58 68 568 2 16 3 7
16 3 2 7 9 4 8 16 5
8 57 6 19 14 3 59 47 2
4 57 1 69 2 67 59 8 3
2 9 3 5 48 78 67 467 1

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

36 16 4 2 136 9 7 5 8
56 2 89 68 7 568 3 1 4
35 18 7 4 138 58 2 9 6
7 68 58 3 568 1 4 2 9
9 468 58 68 568 2 1 3 7
1 3 2 7 9 4 8 6 5
8 57 6 19 14 3 59 47 2
4 57 1 69 2 67 59 8 3
2 9 3 5 48 78 6 47 1

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

36 16 4 2 136 9 7 5 8
56 2 9 68 7 58 3 1 4
35 18 7 4 13 58 2 9 6
7 68 58 3 56 1 4 2 9
9 4 58 68 56 2 1 3 7
1 3 2 7 9 4 8 6 5
8 5 6 1 4 3 9 7 2
4 7 1 9 2 6 5 8 3
2 9 3 5 8 7 6 4 1

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

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

Logic 사용횟수
L01 - Naked Single 54회
L02 - Hidden Single 16회
L03 - Naked Pair 1회
L04 - InterSection Lock 4회
L05 - Hidden Pair 2회
Z99 - Substitution 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