diff options
author | Guillermo Ramos | 2012-05-03 14:40:48 +0200 |
---|---|---|
committer | Guillermo Ramos | 2012-05-05 14:35:05 +0200 |
commit | f2995fef020183e0abfcafdcf726e413cdab56c8 (patch) | |
tree | 5c4e9255f3f814f85da84f313c45fbd406aa9e4f /prolog/sudoku.pl | |
parent | 4fb3fa2758fd4db2bef1efc7ae531e0dadaf4ffa (diff) | |
download | 7l-f2995fef020183e0abfcafdcf726e413cdab56c8.tar.gz |
[Prolog] Día 3
Diffstat (limited to 'prolog/sudoku.pl')
-rw-r--r-- | prolog/sudoku.pl | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/prolog/sudoku.pl b/prolog/sudoku.pl new file mode 100644 index 0000000..159e212 --- /dev/null +++ b/prolog/sudoku.pl @@ -0,0 +1,27 @@ +valid([]). +valid([H|T]) :- + fd_all_different(H), + valid(T). + +sudoku(Puzzle, Solution) :- + Solution = Puzzle, + Puzzle = [S11,S12,S13,S14, + S21,S22,S23,S24, + S31,S32,S33,S34, + S41,S42,S43,S44], + fd_domain(Puzzle,1,4), + Row1 = [S11,S12,S13,S14], + Row2 = [S21,S22,S23,S24], + Row3 = [S31,S32,S33,S34], + Row4 = [S41,S42,S43,S44], + Col1 = [S11,S21,S31,S41], + Col2 = [S12,S22,S32,S42], + Col3 = [S13,S23,S33,S43], + Col4 = [S14,S24,S34,S44], + Sqr1 = [S11,S12,S21,S22], + Sqr2 = [S13,S14,S23,S24], + Sqr3 = [S31,S32,S41,S42], + Sqr4 = [S33,S34,S43,S44], + valid([Row1, Row2, Row3, Row4, + Col1, Col2, Col3, Col4, + Sqr1, Sqr2, Sqr3, Sqr4]). |