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

[문제풀이] AM7 스도쿠 2007년 07월 26일 Normal

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

※ 풀이과정 입니다. (셀 좌표는 [컬럼,로우])
-- 현재 빈칸에 올수있는 모든 후보들을 찾은 상태입니다. --
67 5 2 36789 36789 4 678 138 137
1 678 3 678 25678 268 4 9 57
467 678 9 1 35678 68 5678 2 357
8 4 5 2 39 7 1 6 39
2 1 7 3689 3689 689 59 35 3459
9 3 6 4 1 5 2 7 8
567 9 4 678 2678 3 578 158 1257
357 2 1 789 4789 89 5789 58 6
67 67 8 5 2679 1269 3 4 1279

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

67 5 2 36789 36789 4 678 138 137
1 678 3 678 25678 268 4 9 57
4 678 9 1 35678 68 5678 2 357
8 4 5 2 39 7 1 6 39
2 1 7 3689 3689 689 59 35 4
9 3 6 4 1 5 2 7 8
567 9 4 678 2678 3 578 158 1257
3 2 1 789 4 89 5789 58 6
67 67 8 5 2679 1269 3 4 1279

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

67 5 2 36789 36789 4 678 138 137
1 678 3 678 5678 2 4 9 57
4 678 9 1 35678 68 5678 2 357
8 4 5 2 39 7 1 6 39
2 1 7 3689 3689 689 59 35 4
9 3 6 4 1 5 2 7 8
5 9 4 678 2678 3 78 18 127
3 2 1 789 4 89 5789 58 6
67 67 8 5 2679 1 3 4 279

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

67 5 2 36789 36789 4 678 138 137
1 678 3 678 5678 2 4 9 57
4 678 9 1 35678 68 5678 2 357
8 4 5 2 39 7 1 6 39
2 1 7 3689 3689 689 59 35 4
9 3 6 4 1 5 2 7 8
5 9 4 678 2678 3 78 18 127
3 2 1 789 4 89 5789 58 6
67 67 8 5 29 1 3 4 29

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

67 5 2 36789 36789 4 678 138 137
1 678 3 678 5678 2 4 9 57
4 678 9 1 35678 68 678 2 357
8 4 5 2 39 7 1 6 39
2 1 7 3689 3689 689 59 35 4
9 3 6 4 1 5 2 7 8
5 9 4 678 2678 3 78 18 127
3 2 1 789 4 89 5789 58 6
67 67 8 5 29 1 3 4 29

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

67 5 2 36789 36789 4 678 138 137
1 678 3 678 5678 2 4 9 57
4 678 9 1 35 68 678 2 35
8 4 5 2 39 7 1 6 39
2 1 7 3689 3689 689 59 35 4
9 3 6 4 1 5 2 7 8
5 9 4 678 2678 3 78 18 127
3 2 1 789 4 89 5789 58 6
67 67 8 5 29 1 3 4 29

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

67 5 2 36789 36789 4 678 138 137
1 678 3 678 5678 2 4 9 57
4 678 9 1 35 68 678 2 35
8 4 5 2 39 7 1 6 39
2 1 7 3689 3689 689 59 35 4
9 3 6 4 1 5 2 7 8
5 9 4 678 2678 3 78 18 127
3 2 1 789 4 89 59 58 6
67 67 8 5 29 1 3 4 29

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

67 5 2 3689 36789 4 678 138 137
1 678 3 68 5678 2 4 9 57
4 678 9 1 35 68 678 2 35
8 4 5 2 39 7 1 6 39
2 1 7 3689 3689 689 59 35 4
9 3 6 4 1 5 2 7 8
5 9 4 68 268 3 78 18 127
3 2 1 7 4 89 59 58 6
67 67 8 5 29 1 3 4 29

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

67 5 2 39 36789 4 678 138 137
1 678 3 68 5678 2 4 9 57
4 678 9 1 35 68 678 2 35
8 4 5 2 39 7 1 6 39
2 1 7 39 3689 689 59 35 4
9 3 6 4 1 5 2 7 8
5 9 4 68 268 3 78 18 127
3 2 1 7 4 89 59 58 6
67 67 8 5 29 1 3 4 29

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

67 5 2 39 379 4 678 138 137
1 678 3 68 57 2 4 9 57
4 678 9 1 35 68 678 2 35
8 4 5 2 39 7 1 6 39
2 1 7 39 3689 689 59 35 4
9 3 6 4 1 5 2 7 8
5 9 4 68 268 3 78 18 127
3 2 1 7 4 89 59 58 6
67 67 8 5 29 1 3 4 29

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

67 5 2 39 379 4 678 138 137
1 68 3 68 57 2 4 9 57
4 678 9 1 35 68 678 2 35
8 4 5 2 39 7 1 6 39
2 1 7 39 3689 689 59 35 4
9 3 6 4 1 5 2 7 8
5 9 4 68 268 3 78 18 127
3 2 1 7 4 89 59 58 6
67 67 8 5 29 1 3 4 29

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

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

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

소요시간 : 0분 0.266초

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