Comment résoudre par programme le puzzle 15 (nombres mobiles)?

tous, vous avez probablement vu le déplacement de nombre/photo puzzle. Celui où vous avez des numéros de 1 à 15 dans une grille 4x4, et tentent de les obtenir à partir aléatoire de la position de départ pour

1   2  3  4
5   6  7  8
9  10 11 12
13 14 15 

Ma copine ou certains de mes non-programmeur amis pouvez résoudre ce problème avec certains mumbo-jumbo, de la magie, qu'ils ne peuvent pas m'expliquer. Je ne peux pas résoudre le puzzle.

L'approche la plus prometteuse que j'ai trouvé est de résoudre première ligne, alors que j'obtiendrais

1   2  3  4
X   X  X  X
X   X  X  X
X   X  X 

puis la première colonne sans toucher résolu cellules

1   2  3  4
5   X  X  X
9   X  X  X
13  X  X 

puis la deuxième ligne de

1   2  3  4
5   6  7  8
9   X  X  X
13  X  X 

puis la deuxième colonne

1   2  3  4
5   6  7  8
9   10  X  X
13  14  X 

le problème est, que reste X (aléatoire) de la dalle sont parfois impossibles à résoudre position et c'est là que ma solution ne peut pas. Mais je me sens comme si je suis sur la bonne voie.

Mon programme ne prend la résolution de certaines de ligne/colonne en essayant d'obtenir le nombre X à la position indiquée sans perturber le fonctionnement de cellules appropriées, si possible. Mais il ne peut pas faire le dernier de 3 cases sur la grille 2x2. Ce qui me manque?

source d'informationauteur Axarydax