19 lines
376 B
Perl
19 lines
376 B
Perl
|
% This example is adapted from http://eclipse.crosscoreop.com/examples/puzzle1.pl.txt
|
||
|
|
||
|
:- use_module(library('clpfd')).
|
||
|
|
||
|
solve(Board) :-
|
||
|
Board = [NW,N,NE,W,E,SW,S,SE],
|
||
|
domains(Board,0..12),
|
||
|
sum(Board, #=, 12),
|
||
|
NW + N + NE #= 5,
|
||
|
NE + E + SE #= 5,
|
||
|
NW + W + SW #= 5,
|
||
|
SW + S + SE #= 5,
|
||
|
label(Board).
|
||
|
|
||
|
domains([],_).
|
||
|
domains([Pos|Board],D) :-
|
||
|
Pos in D,
|
||
|
domains(Board,D).
|