diff options
author | Thomas White <taw@physics.org> | 2022-03-27 19:39:58 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2022-03-27 19:39:58 +0200 |
commit | 106e978231a2be2e160fc380ae2e75a4acd58b23 (patch) | |
tree | 4e9e490fda51b60de781f86e6e73d408b45cc8cb | |
parent | 15079ef823be474482ac7042780da43150cb58d4 (diff) |
Test data
-rw-r--r-- | sudoku.scm | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -16,6 +16,15 @@ (iota board-size)))) +(define (set-initial-value board col row val) + (add-clause + (list + (array-ref board + col + row + (1- val))))) + + (let ((board (make-array #f board-size board-size @@ -64,6 +73,35 @@ (array-ref board col row value)) (iota board-size))))) + ;; Initially specified values + (set-initial-value board 0 0 4) + (set-initial-value board 0 7 5) + (set-initial-value board 0 8 1) + + (set-initial-value board 1 1 3) + (set-initial-value board 1 3 2) + + (set-initial-value board 2 8 4) + + (set-initial-value board 3 2 7) + (set-initial-value board 3 6 6) + (set-initial-value board 3 7 2) + + (set-initial-value board 4 4 8) + (set-initial-value board 4 5 1) + + (set-initial-value board 5 6 3) + + (set-initial-value board 6 0 8) + (set-initial-value board 6 4 4) + + (set-initial-value board 7 3 6) + (set-initial-value board 7 6 7) + + (set-initial-value board 8 0 5) + + + (let ((vals (solve-sat))) (do ((row 0 (1+ row))) ((= row board-size)) (do ((col 0 (1+ col))) ((= col board-size)) |