Dinesman's multiple-dwelling problem: Difference between revisions
→{{header|Picat}}: Moved into subsections, added {{out}}
(→{{header|Picat}}: Moved into subsections, added {{out}}) |
|||
Line 2,728:
=={{header|Picat}}==
===Constraint modelling===
<lang picat>import util.
import cp.
dinesman_cp =>
println(dinesman_cp),
Line 2,769 ⟶ 2,761:
solve(X),
println([baker=Baker, cooper=Cooper, fletcher=Fletcher, miller=Miller, smith=Smith]).</lang>
{{out}}
<pre>[baker = 3,cooper = 2,fletcher = 4,miller = 5,smith = 1]</pre>▼
===Using permutations===
<lang Picat>%
% floors: 1: bottom .. 5: top floor
%
Line 2,787 ⟶ 2,780:
adjacent(A,B) => abs(A-B) == 1.
dinesman2 =>
println(dinesman2),
Line 2,795 ⟶ 2,787:
</lang>
{{out}}
<pre>[baker = 3,cooper = 2,fletcher = 4,miller = 5,smith = 1]</pre>▼
▲[baker = 3,cooper = 2,fletcher = 4,miller = 5,smith = 1]
▲[baker = 3,cooper = 2,fletcher = 4,miller = 5,smith = 1]
=={{header|PicoLisp}}==
|