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

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

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

-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
13 13 2 3568 9 358 458 7 48
39 7 4 358 358 1 58 6 2
8 6 5 7 4 2 9 3 1
13 5 9 3468 13678 3478 147 2 347
6 4 8 23 137 37 17 9 5
123 13 7 23459 135 3459 6 8 34
7 8 1 35 35 6 2 4 9
4 2 3 1 78 789 78 5 678
5 9 6 48 2 478 3 1 78

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

13 13 2 6 9 358 458 7 48
9 7 4 358 358 1 58 6 2
8 6 5 7 4 2 9 3 1
13 5 9 348 6 3478 147 2 347
6 4 8 2 137 37 17 9 5
2 13 7 9 135 345 6 8 34
7 8 1 35 35 6 2 4 9
4 2 3 1 78 9 78 5 6
5 9 6 48 2 478 3 1 78

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

13 13 2 6 9 58 458 7 48
9 7 4 358 358 1 58 6 2
8 6 5 7 4 2 9 3 1
13 5 9 348 6 3478 147 2 347
6 4 8 2 137 37 17 9 5
2 13 7 9 135 345 6 8 34
7 8 1 35 35 6 2 4 9
4 2 3 1 78 9 78 5 6
5 9 6 48 2 478 3 1 78

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

13 13 2 6 9 58 458 7 48
9 7 4 358 358 1 58 6 2
8 6 5 7 4 2 9 3 1
13 5 9 48 6 478 147 2 347
6 4 8 2 137 37 17 9 5
2 13 7 9 15 45 6 8 34
7 8 1 35 35 6 2 4 9
4 2 3 1 78 9 78 5 6
5 9 6 48 2 478 3 1 78

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

13 13 2 6 9 58 458 7 48
9 7 4 358 358 1 58 6 2
8 6 5 7 4 2 9 3 1
13 5 9 48 6 478 147 2 347
6 4 8 2 17 3 17 9 5
2 13 7 9 15 45 6 8 34
7 8 1 35 35 6 2 4 9
4 2 3 1 78 9 78 5 6
5 9 6 48 2 478 3 1 78

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

13 13 2 6 9 58 458 7 48
9 7 4 35 358 1 58 6 2
8 6 5 7 4 2 9 3 1
13 5 9 48 6 478 147 2 347
6 4 8 2 17 3 17 9 5
2 13 7 9 15 45 6 8 34
7 8 1 35 35 6 2 4 9
4 2 3 1 78 9 78 5 6
5 9 6 48 2 478 3 1 78

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

13 13 2 6 9 58 458 7 48
9 7 4 35 358 1 58 6 2
8 6 5 7 4 2 9 3 1
13 5 9 48 6 478 14 2 347
6 4 8 2 17 3 17 9 5
2 13 7 9 15 45 6 8 34
7 8 1 35 35 6 2 4 9
4 2 3 1 78 9 78 5 6
5 9 6 48 2 478 3 1 78

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

13 13 2 6 9 58 45 7 48
9 7 4 35 358 1 58 6 2
8 6 5 7 4 2 9 3 1
13 5 9 48 6 478 14 2 347
6 4 8 2 17 3 17 9 5
2 13 7 9 15 45 6 8 34
7 8 1 35 35 6 2 4 9
4 2 3 1 78 9 78 5 6
5 9 6 48 2 478 3 1 78

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

1 13 2 6 9 58 45 7 48
9 7 4 35 358 1 58 6 2
8 6 5 7 4 2 9 3 1
13 5 9 48 6 478 14 2 347
6 4 8 2 17 3 17 9 5
2 13 7 9 15 45 6 8 34
7 8 1 35 35 6 2 4 9
4 2 3 1 78 9 78 5 6
5 9 6 48 2 478 3 1 78

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

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

Logic 사용횟수
L01 - Naked Single 61회
L02 - Hidden Single 9회
L03 - Naked Pair 2회
L04 - InterSection Lock 1회
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.694 by keetekee / Sudoku Programming http://resrc.tistory.com