fix bug with unify_diagonal

This commit is contained in:
wi11-holdsworth 2025-08-26 21:33:16 +10:00
parent 5a1e265cae
commit 9fbc6297f9

View file

@ -9,7 +9,7 @@
% %
puzzle_solution(Puzzle) :- puzzle_solution(Puzzle) :-
Puzzle = [_|Rows], Puzzle = [_|Rows],
% unify_diagonal(Puzzle), unify_diagonal(Puzzle),
maplist(valid_row, Rows), maplist(valid_row, Rows),
transpose(Puzzle, TransposedPuzzle), transpose(Puzzle, TransposedPuzzle),
TransposedPuzzle = [_|Columns], TransposedPuzzle = [_|Columns],
@ -60,7 +60,8 @@ main_diagonal([M|Ms], I, [D|Ds]) :-
all_same([Head|Tail]) :- all_same([Head|Tail]) :-
all_same(Head, Tail). all_same(Head, Tail).
all_same(X, [X]).
all_same(Head, [X|Xs]) :- all_same(Head, [X|Xs]) :-
Head = X, Head #= X,
all_same(Head, Xs). all_same(Head, Xs).