If you try and solve the whole puzzle at once with A*, it will be too slow. As Blind4Basics said below, you cannot just search for the answer.
Your algorithm has to solve the puzzle instead of just searching (if that makes sense). However, although you can't purely use A* to search for the solution, it can greatly help you a lot to do parts of the puzzle depending on your implementation.
Also, one thing to note is that is you don't have to return the shortest solution. :)
Thanks for raising this issue. It should be fixed now.
If you try and solve the whole puzzle at once with A*, it will be too slow. As Blind4Basics said below, you cannot just search for the answer.
Your algorithm has to solve the puzzle instead of just searching (if that makes sense). However, although you can't purely use A* to search for the solution, it can greatly help you a lot to do parts of the puzzle depending on your implementation.
Also, one thing to note is that is you don't have to return the shortest solution. :)
you can do the jump
A->C
only ifB
is already used. Otherwise you'd doA->B->C
Not an issue.