가장 짧은 스도쿠 솔버를 구현하십시오.
스도쿠 퍼즐 :
| 1 2 3 | 4 5 6 | 7 8 9
-+-----------------------
A| 3 | 1 |
B| 6 | | 5
C| 5 | | 9 8 3
-+-----------------------
D| 8 | 6 | 3 2
E| | 5 |
F| 9 3 | 8 | 6
-+-----------------------
G| 7 1 4 | | 9
H| 2 | | 8
I| | 4 | 3
대답:
| 1 2 3 | 4 5 6 | 7 8 9
-+-----------------------
A| 8 3 2 | 5 9 1 | 6 7 4
B| 4 9 6 | 3 8 7 | 2 5 1
C| 5 7 1 | 2 6 4 | 9 8 3
-+-----------------------
D| 1 8 5 | 7 4 6 | 3 9 2
E| 2 6 7 | 9 5 3 | 4 1 8
F| 9 4 3 | 8 1 2 | 7 6 5
-+-----------------------
G| 7 1 4 | 6 3 8 | 5 2 9
H| 3 2 9 | 1 7 5 | 8 4 6
I| 6 5 8 | 4 2 9 | 1 3 7
규칙 :
- 모든 미로를 논리만으로 해결할 수 있다고 가정하십시오.
- 모든 입력 길이는 81 자입니다. 누락 된 문자는 0입니다.
- 솔루션을 단일 문자열로 출력하십시오.
- "그리드"는 원하는대로 내부에 저장 될 수 있습니다.
- 솔루션은 추측 할 수없는 솔루션을 사용해야합니다. ( 스도쿠 솔버 참조 )
예제 I / O :
>sudoku.py "030001000006000050500000983080006302000050000903800060714000009020000800000400030"
832591674496387251571264983185746392267953418943812765714638529329175846658429137
실제로 시간 제한을 추가해야합니다.
—
JPvdMerwe
@ JPvdMerwe : 좋은 지적이지만 시간 제한은 표준화하기가 어렵습니다.
—
snmcdonald
@gnibbler : 이전에 수행되었을 수도 있지만 codegolf.se에서는 수행되지 않았습니다. 나는 특히 정직하게 행동한다면 커뮤니티에 가치를 더할뿐 아니라 해결하는 것이 여전히 재미있을 것이라고 생각합니다.
—
snmcdonald
난이게 좋아. 나는 실제 골프 솔루션을 시도하는 것을 망설이고 스도쿠 솔버를 작성하는 것에 대해 생각하고 있습니다 (재미있는 운동처럼 보입니다). 예전에는 골프를 본 적이없는 사람들이 점프 포인트로 사용할 수 있다고 생각합니다. 그리고 내가 하나를 생각해 내면 골프를 할 수 있습니다.
—
Andy
"논리만으로 해결할 수있는"문제는 매우 모호합니다. a) 기본 단계 만 사용한다는 의미입니까? a) 행, 열 및 블록에 값이없는 셀에 값을 작성합니다. b) 행, 열의 한 곳에만 들어갈 수있는 숫자 식별 또는 차단하고 거기에 쓰는가?
—
xnor