110802 Problema del puzzle de 15 piezas
Transcripción
110802 Problema del puzzle de 15 piezas
Skiena y Revilla, Concursos Internacionales de Informática y Programación Manual de Entrenamiento por Internet, Universidad de Valladolid, España, 2003. ISBN: 84-8448-371-1 110802 Problema del puzzle de 15 piezas El puzzle de 15 piezas es un juego muy popular, que seguramente cualquier persona conoce aunque no sea por ese nombre. Está construido con 15 piezas deslizantes, numeradas del 1 al 15, e integradas en un cuadro de dimensiones 4 × 4 en el que hay un espacio libre. El objetivo del juego es el de ordenar las piezas de la forma que se muestra a continuación: El único movimiento válido para jugar consiste en sustituir el espacio vacı́o por una de las 2, 3 o 4 piezas con las que comparte uno de sus lados. Consideremos la siguiente secuencia de movimientos: Una posición aleatoria El hueco queda ahora a la El hueco queda ahora El hueco queda ahora a la derecha (R). arriba (U). izquierda (L). del juego. Identificamos los movimientos en función de la pieza con la que se intercambia el espacio vacı́o. Los valores válidos son “R,” “L,” “U,” y “D” para indicar derecha, izquierda, arriba y abajo, en función de los desplazamientos del hueco. Partiendo de una configuración original de un puzzle de 15 piezas, debemos determinar una secuencia de pasos que lleve al estado final. Para los casos de entrada en los que esto es posible, se dispone de una solución que requiere un máximo de 45 movimientos. No obstante, se permiten hasta 50 movimientos para resolverlo. Entrada La primera lı́nea de la entrada consta de un entero n, que indica el número de puzzles que se deben resolver. Las siguientes 4n lı́neas contienen n puzzles, ocupando cuatro lı́neas cada uno. El número 0 indica la posición de la pieza vacı́a. Salida Por cada caso de la entrada, se produce una lı́nea en la salida. Si la configuración inicial no es resoluble, se debe imprimir el mensaje “This puzzle is not solvable.”. Si la solución existe, se http://www.programming-challenges.com c copyright 2006 Skiena y Revilla, Concursos Internacionales de Informática y Programación Manual de Entrenamiento por Internet, Universidad de Valladolid, España, 2003. ISBN: 84-8448-371-1 debe imprimir una secuencia de movimientos, genrada por el método descrito anteriormente, que resuelva el puzzle. Ejemplo de entrada 2 2 3 4 0 1 5 7 8 9 6 10 12 13 14 11 15 13 1 2 4 5 0 3 7 9 6 10 12 15 8 11 14 Ejemplo de salida LLLDRDRDR This puzzle is not solvable. http://www.programming-challenges.com c copyright 2006