Best shuffle: Difference between revisions
m
→{{header|Picat}}: Added subsection, added {{out}}
m (→{{header|Picat}}: Added subsection, added {{out}}) |
|||
Line 3,022:
Using a CP (Constraint Programming) solver guarantees an optimal solution. This is deterministic since the solve heuristic ("split") always give the same first result.
<lang Picat>
go =>
Words = ["abracadabra",
"seesaw",
Line 3,085 ⟶ 3,087:
end.</lang>
{{out}}
<pre>abracadabra, baabacadrar, (0)
seesaw, assewe, (0)
Line 3,095 ⟶ 3,097:
aaaaaaa, aaaaaaa, (7)</pre>
===All optimal solutions===
Using a constraint solver makes it quite easy to generate all optimal solutions.
<lang Picat>go2 ?=>
Line 3,126 ⟶ 3,128:
go2 => true.</lang>
{{out}}
<pre>word = abracadabra
best_score = 0
Line 3,169 ⟶ 3,171:
num_solutions = 1
solutions = [aaaaaaa]</pre>
=={{header|PicoLisp}}==
|