본문 바로가기
스도쿠문제 풀이/AM7 스도쿠풀이

[문제풀이] AM7 스도쿠 2007년 08월 17일 Normal

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

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


-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
3489 2349 2489 1 2589 589 6 7 359
3789 1239 2789 23789 25789 6 23589 23589 4
36789 2369 5 4 2789 789 1 2389 39
479 8 3 79 6 14579 59 1459 2
5 2469 2479 279 12479 1479 39 1349 8
1 249 249 289 3 4589 7 6 59
89 59 1 6789 789 3 4 2589 5679
2 349 489 5 14789 14789 389 1389 13679
3489 7 6 89 1489 2 3589 13589 1359

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

3489 2349 2489 1 2589 589 6 7 359
3789 1 2789 23789 25789 6 23589 23589 4
6 239 5 4 2789 789 1 2389 39
479 8 3 79 6 14579 59 1459 2
5 6 2479 279 12479 1479 39 1349 8
1 249 249 289 3 4589 7 6 59
89 59 1 6789 789 3 4 2589 5679
2 349 489 5 14789 14789 389 1389 13679
3489 7 6 89 1489 2 3589 13589 1359

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

3489 2349 2489 1 2589 589 6 7 359
3789 1 2789 23789 25789 6 23589 3589 4
6 239 5 4 2789 789 1 389 39
479 8 3 79 6 14579 59 1459 2
5 6 2479 279 12479 1479 39 1349 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 789 3 4 2 79
2 349 489 5 14789 14789 389 1389 6
3489 7 6 89 1489 2 3589 13589 1359

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

3489 2349 2489 1 2589 589 6 7 359
789 1 789 3 5789 6 2 589 4
6 239 5 4 2789 789 1 389 39
479 8 3 79 6 14579 59 1459 2
5 6 2479 279 12479 1479 39 1349 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 89 3 4 2 7
2 349 489 5 14789 14789 389 389 6
3489 7 6 89 489 2 3589 3589 1

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

3489 2349 2489 1 2589 589 6 7 359
789 1 789 3 5789 6 2 589 4
6 239 5 4 2789 789 1 389 39
479 8 3 79 6 14579 59 14 2
5 6 2479 279 12479 1479 3 14 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 89 3 4 2 7
2 349 489 5 14789 14789 89 389 6
3489 7 6 89 489 2 589 3589 1

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

3489 2349 2489 1 2589 589 6 7 359
789 1 789 3 5789 6 2 589 4
6 239 5 4 2789 789 1 389 39
479 8 3 79 6 14579 59 14 2
5 6 2479 279 1279 1479 3 14 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 89 3 4 2 7
2 349 489 5 17 17 89 389 6
389 7 6 89 4 2 589 3589 1

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

3489 2349 2489 1 2589 589 6 7 359
789 1 789 3 589 6 2 589 4
6 239 5 4 2789 789 1 389 39
479 8 3 79 6 14579 59 14 2
5 6 2479 279 1279 1479 3 14 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 89 3 4 2 7
2 349 489 5 17 17 89 389 6
389 7 6 89 4 2 589 3589 1

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

3489 2349 2489 1 2589 589 6 7 359
789 1 789 3 589 6 2 589 4
6 239 5 4 2789 789 1 389 39
479 8 3 79 6 14579 59 14 2
5 6 2479 279 179 1479 3 14 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 89 3 4 2 7
2 349 489 5 17 17 89 389 6
389 7 6 89 4 2 589 3589 1

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

3489 2349 2489 1 2589 589 6 7 359
789 1 789 3 589 6 2 589 4
6 239 5 4 2789 789 1 389 39
479 8 3 79 6 1459 59 14 2
5 6 2479 279 19 149 3 14 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 89 3 4 2 7
2 349 489 5 17 17 89 389 6
389 7 6 89 4 2 589 3589 1

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

3489 2349 2489 1 2589 89 6 7 359
789 1 789 3 589 6 2 589 4
6 239 5 4 2789 789 1 389 39
479 8 3 79 6 1459 59 14 2
5 6 2479 279 19 149 3 14 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 89 3 4 2 7
2 349 489 5 17 17 89 389 6
389 7 6 89 4 2 589 3589 1

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

3489 2349 2489 1 2589 89 6 7 359
789 1 789 3 589 6 2 589 4
6 239 5 4 2789 789 1 389 39
479 8 3 79 6 1459 59 14 2
5 6 2479 279 19 149 3 14 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 89 3 4 2 7
2 349 489 5 17 17 89 39 6
389 7 6 89 4 2 589 359 1

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

3489 2349 2489 1 2589 89 6 7 359
789 1 789 3 589 6 2 589 4
6 239 5 4 2789 789 1 89 39
479 8 3 79 6 1459 59 14 2
5 6 2479 279 19 149 3 14 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 89 3 4 2 7
2 349 489 5 17 17 89 39 6
389 7 6 89 4 2 589 359 1

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

3489 2349 2489 1 2589 89 6 7 359
789 1 789 3 589 6 2 589 4
6 239 5 4 2789 789 1 89 39
479 8 3 79 6 1459 59 14 2
5 6 27 27 19 149 3 14 8
1 249 249 289 3 4589 7 6 59
89 5 1 6 89 3 4 2 7
2 349 489 5 17 17 89 39 6
389 7 6 89 4 2 589 359 1

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

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

Logic 사용횟수
L01 - Naked Single 57회
L02 - Hidden Single 11회
L03 - Naked Pair 2회
L04 - InterSection Lock 7회
L05 - Hidden Pair 1회

소요시간 : 0분 0.234초

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