Solve a Hopido puzzle: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 261: | Line 261: | ||
=={{header|Ruby}}== |
=={{header|Ruby}}== |
||
This solution uses HLPsolver from [[Solve_a_Hidato_puzzle#With_Warnsdorff | here]] |
This solution uses HLPsolver from [[Solve_a_Hidato_puzzle#With_Warnsdorff | here]] |
||
<lang ruby> |
<lang ruby>require 'HLPsolver' |
||
require 'HLPsolver' |
|||
ADJACENT = [[-3, 0], [0, -3], [0, 3], [3, 0], [-2, -2], [-2, 2], [2, -2], [2, 2]] |
ADJACENT = [[-3, 0], [0, -3], [0, 3], [3, 0], [-2, -2], [-2, 2], [2, -2], [2, 2]] |
||
board1 = <<EOS |
board1 = <<EOS |
||
⚫ | |||
0 0 0 0 0 0 0 |
|||
0 0 0 0 0 0 0 |
|||
. 0 0 0 0 0 . |
|||
. . 0 0 0 . . |
|||
. . . |
. . . 1 . . . |
||
⚫ | |||
EOS |
EOS |
||
t0 = Time.now |
t0 = Time.now |
||
HLPsolver.new(board1).solve |
HLPsolver.new(board1).solve |
||
puts " #{Time.now - t0} sec" |
puts " #{Time.now - t0} sec"</lang> |
||
</lang> |
|||
Which produces: |
Which produces: |
||
<pre> |
<pre> |
||
Problem: |
Problem: |
||
0 0 0 0 |
|||
0 0 0 0 0 0 0 |
|||
0 0 0 0 0 0 0 |
|||
0 0 0 0 0 |
|||
0 0 0 |
|||
1 |
|||
1 |
|||
Solution: |
Solution: |
||
3 12 4 11 |
|||
8 18 21 7 17 20 6 |
|||
13 24 27 14 23 26 15 |
|||
8 18 21 7 17 20 6 |
|||
2 9 19 5 10 |
|||
22 25 16 |
|||
1 |
|||
1 |
|||
0. |
0.001 sec |
||
</pre> |
</pre> |