Le 8 Puzzle est la plus petite variante du 15Puzzle (ou le puzzle coulissant ). Vous avez une 3x3
grille qui est remplie de chiffres de 0 à 8 (0 indique la tuile vierge) disposés dans un ordre aléatoire. Votre tâche consiste à saisir une grille 3x3 et à afficher la solution la plus courte (mouvements minimum) pour atteindre l'état de l'objectif. Affichez chaque état de la carte, y compris le premier état dans la sortie.
Il peut y avoir plusieurs solutions optimales, il vous suffit d'en imprimer une.
Entrée: (petit exemple)
1 2 0
4 5 3
7 8 6
Production:
2 <- denotes minimum number of moves required
1 2 0
4 5 3
7 8 6
1 2 3
4 5 0
7 8 6
1 2 3
4 5 6
7 8 0 <- goal state
Si le casse-tête ne peut pas être résolu, imprimez simplement -1
(indiquant insoluble)
Modifier : délai: <30 secondes.
code-golf
sliding-puzzle
st0le
la source
la source
grid which is filled with numbers from 0-9
êtregrid which is filled with numbers from 0-8
?Réponses:
Python, 418 caractères
Le code énumère exhaustivement toutes les positions et fait des cartes de leur profondeur (D), et une position plus proche de résolue (E). Ensuite, il recherche l'état de l'objectif pour obtenir la sortie.
la source
' '*3
astuce.