diff --git a/sudoku.lispbm b/sudoku.lispbm index c66583a..ffe5140 100644 --- a/sudoku.lispbm +++ b/sudoku.lispbm @@ -1,5 +1,29 @@ (define nums '(1 2 3 4 5 6 7 8 9)) +(define exampleGrid + '( + (1 2 3 4 5 6 7 8 9) + (2 3 4 5 6 7 8 9 1) + (3 4 5 6 7 8 9 1 2) + (4 5 6 7 8 9 1 2 3) + (5 6 7 8 9 1 2 3 4) + (6 7 8 9 1 2 3 4 5) + (7 8 9 1 2 3 4 5 6) + (8 9 1 2 3 4 5 6 7) + (9 1 2 3 4 5 6 7 8))) + +(define toSolve + '( + (1 2 3 4 5 nil 7 8 9) + (4 5 6 7 nil 9 1 2 3) + (7 8 nil 1 2 nil 4 5 6) + (2 nil 4 5 6 7 nil 9 1) + (5 6 nil 8 9 nil 2 3 4) + (8 9 nil 2 nil 4 5 6 7) + (6 7 nil 9 1 2 nil 4 5) + (9 nil 2 3 4 5 nil nil 8) + (3 4 5 6 7 8 nil 1 2))) + (defun amount (x y) (foldr (lambda (z q) (if (eq x z) (+ q 1) q)) 0 y)) @@ -45,14 +69,3 @@ (matrixToList (getSubMatrix m sr er sc ec))) 'error)) -(define exampleGrid - '( - (1 2 3 4 5 6 7 8 9) - (2 3 4 5 6 7 8 9 1) - (3 4 5 6 7 8 9 1 2) - (4 5 6 7 8 9 1 2 3) - (5 6 7 8 9 1 2 3 4) - (6 7 8 9 1 2 3 4 5) - (7 8 9 1 2 3 4 5 6) - (8 9 1 2 3 4 5 6 7) - (9 1 2 3 4 5 6 7 8)))