El 8 Puzzle es la variante más pequeña del 15Puzzle (o el rompecabezas deslizante ). Tiene una 3x3
cuadrícula que se llena con números del 0-8 (0 denota el mosaico en blanco) organizados en un orden aleatorio. Su tarea es ingresar una cuadrícula de 3x3 y mostrar la solución más corta (movimientos mínimos) para llegar al estado objetivo. Muestra cada estado de placa, incluido el primer estado en la salida.
Puede haber múltiples soluciones óptimas, solo necesita imprimir una.
Entrada: (pequeño ejemplo)
1 2 0
4 5 3
7 8 6
Salida:
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 el rompecabezas no se puede resolver, imprima solo -1
(denotando insoluble)
Editar : Límite de tiempo: <30 segundos.
code-golf
sliding-puzzle
st0le
fuente
fuente
grid which is filled with numbers from 0-9
sergrid which is filled with numbers from 0-8
?Respuestas:
Python, 418 caracteres
El código enumera exhaustivamente todas las posiciones y hace mapas de su profundidad (D) y una posición más cercana a la resuelta (E). Luego busca el estado del objetivo para obtener la salida.
fuente
' '*3
truco