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
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 0 . .
. . . . . 0 0 0 . .
. . . 1 . . .
. . . . . . 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 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
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
13 24 27 14 23 26 15
2 9 19 5 10
2 9 19 5 10
22 25 16
22 25 16
1
1


0.002007886 sec
0.001 sec
</pre>
</pre>