O 8 Puzzle é a variante menor do 15Puzzle (ou o quebra-cabeça deslizante ). Você tem uma 3x3
grade que é preenchida com números de 0 a 8 (0 indica o bloco em branco) organizados em uma ordem aleatória. Sua tarefa é inserir uma grade 3x3 e mostrar a solução mais curta (movimentos mínimos) para chegar ao estado do objetivo. Exiba cada estado da placa, incluindo o primeiro estado na saída.
Pode haver várias soluções ideais, você só precisa imprimir uma.
Entrada: (pequeno exemplo)
1 2 0
4 5 3
7 8 6
Resultado:
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
Se o quebra-cabeça não puder ser resolvido, imprima apenas -1
(indicando insolúvel)
Editar : limite de tempo: <30segundos.
code-golf
sliding-puzzle
st0le
fonte
fonte
grid which is filled with numbers from 0-9
sergrid which is filled with numbers from 0-8
?Respostas:
Python, 418 caracteres
O código enumera exaustivamente todas as posições e faz mapas de sua profundidade (D), e uma posição mais próxima da resolução (E). Em seguida, procura o estado do objetivo para obter a saída.
fonte
' '*3
truque.