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

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

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

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

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

-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
1278 1278 3 157 6 4 28 9 258
2789 2789 24589 3579 378 3579 6 1 2358
1689 1689 45689 2 38 1359 348 3458 7
4 2789 289 6 5 237 1 238 2389
23689 5 2689 13 4 123 2389 7 23689
2367 267 1 37 9 8 23 2356 4
5 1289 289 3479 237 6 234789 2348 12389
12689 4 7 359 23 2359 2389 2368 123689
269 3 269 8 1 279 5 246 269

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

7 128 3 15 6 4 28 9 258
289 289 4 359 7 359 6 1 258
169 169 5 2 8 19 4 3 7
4 7 289 6 5 23 1 28 2389
2389 5 289 13 4 123 2389 7 6
236 26 1 7 9 8 23 5 4
5 1289 289 4 23 6 7 28 12389
1289 4 7 359 23 2359 2389 6 12389
29 3 6 8 1 7 5 4 29

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

7 128 3 15 6 4 28 9 258
289 289 4 359 7 359 6 1 258
169 169 5 2 8 19 4 3 7
4 7 289 6 5 23 1 28 2389
2389 5 289 13 4 123 2389 7 6
236 26 1 7 9 8 23 5 4
5 1289 289 4 23 6 7 28 12389
1289 4 7 59 23 59 2389 6 12389
29 3 6 8 1 7 5 4 29

L03 - Naked Pair : 로우8 {4,6}번째 셀 "59"값은 Subset 패턴2, 나머지셀에서 "59"값 제거
L02 - Hidden Single : [7,5]셀 "9"값은 컬럼7 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "9"값 제거
L02 - Hidden Single : [3,4]셀 "9"값은 로우4 에서 유니크 값, 관련된 로우, 컬럼, 블럭에서 "9"값 제거

7 128 3 15 6 4 28 9 258
289 289 4 359 7 359 6 1 258
169 169 5 2 8 19 4 3 7
4 7 9 6 5 23 1 28 238
238 5 28 13 4 123 9 7 6
236 26 1 7 9 8 23 5 4
5 1289 28 4 23 6 7 28 12389
128 4 7 59 23 59 238 6 1238
29 3 6 8 1 7 5 4 29

L03 - Naked Pair : 로우7 {3,8}번째 셀 "28"값은 Subset 패턴2, 나머지셀에서 "28"값 제거
L01 - Naked Single : [5,7]셀 "3"값과 관련된 로우, 컬럼, 블럭에서 "3"값 제거
L01 - Naked Single : [5,8]셀 "2"값과 관련된 로우, 컬럼, 블럭에서 "2"값 제거

7 128 3 15 6 4 28 9 258
289 289 4 359 7 359 6 1 258
169 169 5 2 8 19 4 3 7
4 7 9 6 5 23 1 28 238
238 5 28 13 4 123 9 7 6
236 26 1 7 9 8 23 5 4
5 19 28 4 3 6 7 28 19
18 4 7 59 2 59 38 6 138
29 3 6 8 1 7 5 4 29

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

7 128 3 15 6 4 28 9 258
29 289 4 359 7 359 6 1 258
169 169 5 2 8 19 4 3 7
4 7 9 6 5 23 1 28 238
238 5 28 13 4 123 9 7 6
236 26 1 7 9 8 23 5 4
5 19 28 4 3 6 7 28 19
18 4 7 59 2 59 38 6 138
29 3 6 8 1 7 5 4 29

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

7 128 3 15 6 4 28 9 258
29 289 4 359 7 359 6 1 258
16 169 5 2 8 19 4 3 7
4 7 9 6 5 23 1 28 238
38 5 28 13 4 123 9 7 6
36 26 1 7 9 8 23 5 4
5 19 28 4 3 6 7 28 19
18 4 7 59 2 59 38 6 138
29 3 6 8 1 7 5 4 29

L11 - Sword-Fish : [컬럼3,6,8] vs [로우4,5,7] 교차점 "2"값, 로우4,5,7 에서 컬럼3,6,8 제외한 나머지셀의 "2"값 제거

7 128 3 15 6 4 28 9 258
29 289 4 359 7 359 6 1 258
16 169 5 2 8 19 4 3 7
4 7 9 6 5 23 1 28 38
38 5 28 13 4 123 9 7 6
36 26 1 7 9 8 23 5 4
5 19 28 4 3 6 7 28 19
18 4 7 59 2 59 38 6 138
29 3 6 8 1 7 5 4 29

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

7 128 3 1 6 4 28 9 258
29 289 4 359 7 359 6 1 258
16 169 5 2 8 19 4 3 7
4 7 9 6 5 23 1 28 38
38 5 28 13 4 123 9 7 6
36 26 1 7 9 8 23 5 4
5 19 28 4 3 6 7 28 19
18 4 7 59 2 59 38 6 138
29 3 6 8 1 7 5 4 29

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

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

Logic 사용횟수
L01 - Naked Single 49회
L02 - Hidden Single 18회
L03 - Naked Pair 4회
L04 - InterSection Lock 1회
L11 - Sword-Fish 1회
Z99 - Substitution 1회

소요시간 : 0분 0.281초

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.694 by keetekee