- 스도쿠 풀어주는 프로그램 공개
- 컴퓨터야그/자작
- 2010. 4. 16. 00:33
스도쿠를 풀 때마다 이걸 컴퓨터로 풀어보고 싶었다.
이미 유사한 프로그램들이 많이 나와있지만, 직접 만들어보는 것이랑은 다르니...
그래서 한번 만들어봤다.
이 프로그램의 기능은 아래와 같다.
기본적인 알고리즘은 아래와 같다.
프로그램은 아래 링크에서 다운받을 수 있다.
덧. 위키피디아에 올라와있는 스도쿠의 예제를 보면 답이 2개로 나와있는데, 둘 중 앞의 것만 맞다.
뒤의 것은 5번째 열에 5가 2개고, 3이 없다.
(편집해놓았는데, 아직은 반영이 안된 듯)
이미 유사한 프로그램들이 많이 나와있지만, 직접 만들어보는 것이랑은 다르니...
그래서 한번 만들어봤다.
혼자 열나게 문제를 푸는 중...
이 프로그램의 기능은 아래와 같다.
1. 주어진 값을 기준으로 문제 풀기
2. 지정된 갯수 만큼 숫자가 남는 문제 생성
3. 저장되어있는 예제 보여주기(3개)
4. 풀이를 파일로 저장
2. 지정된 갯수 만큼 숫자가 남는 문제 생성
3. 저장되어있는 예제 보여주기(3개)
4. 풀이를 파일로 저장
기본적인 알고리즘은 아래와 같다.
1. 27개의 각 칸에 9개(1~9)의 BOOL 배열 생성, true로 설정
2. fixed 된 전 셀에 대해 같은 행, 같은 열, 같은 3x3 칸에서 fixed된 값에 대해 false로 지정
3. 각 행, 각 열, 각 3x3 칸에서 가능한 후보 숫자 중 유일한 것이 있으면 이 값을 fixed 값으로 수정
4. 더 이상 진행할 수 없을 때까지 2-3 반복
5. 27개의 각 칸에 남아있는 후보군 숫자를 일일이 대입
2. fixed 된 전 셀에 대해 같은 행, 같은 열, 같은 3x3 칸에서 fixed된 값에 대해 false로 지정
3. 각 행, 각 열, 각 3x3 칸에서 가능한 후보 숫자 중 유일한 것이 있으면 이 값을 fixed 값으로 수정
4. 더 이상 진행할 수 없을 때까지 2-3 반복
5. 27개의 각 칸에 남아있는 후보군 숫자를 일일이 대입
프로그램은 아래 링크에서 다운받을 수 있다.
덧. 위키피디아에 올라와있는 스도쿠의 예제를 보면 답이 2개로 나와있는데, 둘 중 앞의 것만 맞다.
뒤의 것은 5번째 열에 5가 2개고, 3이 없다.
(편집해놓았는데, 아직은 반영이 안된 듯)
위키의 예제를 직접 풀어본 것
'컴퓨터야그 > 자작' 카테고리의 다른 글
SRT 자막 보정 프로그램 (7) | 2010.05.22 |
---|---|
Nokia 인증 도구 도우미 (0) | 2010.04.16 |
캡쳐한 거대 위성사진 쉽게 자르기 v1.1 (goohwan님 전용) (4) | 2010.03.10 |
메르카토르 도법 지도 위에 최단경로를 그리는 프로그램 1.1 업데이트 (2) | 2009.11.07 |
Visual C++에서 윈도우 내장 이미지 뷰어 사용하는 방법 (6) | 2009.11.07 |
Recent comment