From b5321a6f8ee894253bc30184e60acbc84ecec902 Mon Sep 17 00:00:00 2001 From: pingu Date: Wed, 15 Oct 2025 11:13:47 +0200 Subject: [PATCH] Proper valid --- sudoku.lispbm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sudoku.lispbm b/sudoku.lispbm index 652f230..fb49208 100644 --- a/sudoku.lispbm +++ b/sudoku.lispbm @@ -66,6 +66,11 @@ (map (lambda (y) (amount y x)) nums)) nil)) +(defun validSudoku (grid) + (and (foldr (lambda (x b) (and (valid x) b)) 't grid) + (foldr (lambda (x b) (and (valid x) b)) 't (transpose grid)) + (foldr (lambda (x b) (and (valid (getSubgridAsList grid x)) b)) 't (iota 9)))) + (defun notPresentRow (xs) (foldr (lambda (x ys) (if (in x xs) ys (cons x ys))) @@ -152,7 +157,7 @@ nil empties))) (if (eq empties nil) - (if (valid grid) + (if (validSudoku grid) grid (solverHelper (car grids) (cdr grids))) (if (eq size1 nil)