Solve a Numbrix puzzle: Difference between revisions
Content added Content deleted
Line 1,151: | Line 1,151: | ||
</pre> |
</pre> |
||
=={{header|Julia}}== |
|||
Uses the Hidato puzzle solver module, which has its source code listed [[Solve_a_Hidato_puzzle#Julia | here]] in the Hadato task. |
|||
<lang julia>using .Hidato # Note that the . here means to look locally for the module rather than in the libraries |
|||
const numbrix1 = """ |
|||
0 0 0 0 0 0 0 0 0 |
|||
0 0 46 45 0 55 74 0 0 |
|||
0 38 0 0 43 0 0 78 0 |
|||
0 35 0 0 0 0 0 71 0 |
|||
0 0 33 0 0 0 59 0 0 |
|||
0 17 0 0 0 0 0 67 0 |
|||
0 18 0 0 11 0 0 64 0 |
|||
0 0 24 21 0 1 2 0 0 |
|||
0 0 0 0 0 0 0 0 0 """ |
|||
const numbrix2 = """ |
|||
0 0 0 0 0 0 0 0 0 |
|||
0 11 12 15 18 21 62 61 0 |
|||
0 6 0 0 0 0 0 60 0 |
|||
0 33 0 0 0 0 0 57 0 |
|||
0 32 0 0 0 0 0 56 0 |
|||
0 37 0 1 0 0 0 73 0 |
|||
0 38 0 0 0 0 0 72 0 |
|||
0 43 44 47 48 51 76 77 0 |
|||
0 0 0 0 0 0 0 0 0 """ |
|||
const numbrixmoves = [[-1, 0], [0, -1], [0, 1], [1, 0]] |
|||
board, maxmoves, fixed, starts = hidatoconfigure(numbrix1) |
|||
printboard(board, " 0 ", " ") |
|||
hidatosolve(board, maxmoves, numbrixmoves, fixed, starts[1][1], starts[1][2], 1) |
|||
printboard(board) |
|||
board, maxmoves, fixed, starts = hidatoconfigure(numbrix2) |
|||
printboard(board, " 0 ", " ") |
|||
hidatosolve(board, maxmoves, numbrixmoves, fixed, starts[1][1], starts[1][2], 1) |
|||
printboard(board) |
|||
</lang>{{output}}<pre> |
|||
0 0 0 0 0 0 0 0 0 |
|||
0 0 46 45 0 55 74 0 0 |
|||
0 38 0 0 43 0 0 78 0 |
|||
0 35 0 0 0 0 0 71 0 |
|||
0 0 33 0 0 0 59 0 0 |
|||
0 17 0 0 0 0 0 67 0 |
|||
0 18 0 0 11 0 0 64 0 |
|||
0 0 24 21 0 1 2 0 0 |
|||
0 0 0 0 0 0 0 0 0 |
|||
49 50 51 52 53 54 75 76 81 |
|||
48 47 46 45 44 55 74 77 80 |
|||
37 38 39 40 43 56 73 78 79 |
|||
36 35 34 41 42 57 72 71 70 |
|||
31 32 33 14 13 58 59 68 69 |
|||
30 17 16 15 12 61 60 67 66 |
|||
29 18 19 20 11 62 63 64 65 |
|||
28 25 24 21 10 1 2 3 4 |
|||
27 26 23 22 9 8 7 6 5 |
|||
0 0 0 0 0 0 0 0 0 |
|||
0 11 12 15 18 21 62 61 0 |
|||
0 6 0 0 0 0 0 60 0 |
|||
0 33 0 0 0 0 0 57 0 |
|||
0 32 0 0 0 0 0 56 0 |
|||
0 37 0 1 0 0 0 73 0 |
|||
0 38 0 0 0 0 0 72 0 |
|||
0 43 44 47 48 51 76 77 0 |
|||
0 0 0 0 0 0 0 0 0 |
|||
9 10 13 14 19 20 63 64 65 |
|||
8 11 12 15 18 21 62 61 66 |
|||
7 6 5 16 17 22 59 60 67 |
|||
34 33 4 3 24 23 58 57 68 |
|||
35 32 31 2 25 54 55 56 69 |
|||
36 37 30 1 26 53 74 73 70 |
|||
39 38 29 28 27 52 75 72 71 |
|||
40 43 44 47 48 51 76 77 78 |
|||
41 42 45 46 49 50 81 80 79 |
|||
</pre> |
|||
=={{header|Kotlin}}== |
=={{header|Kotlin}}== |