Escapa de la mazmorra I
Ogmo es un mago que ha sido encerrado en una mazmorra. Necesita tu ayuda.
Crea una función que reciba un mapa de la mazmorra y devuelva una única cadena multilínea que contenga el camino más corto marcado, el número mínimo de pasos hasta la salida y la secuencia de escape.
- Ogmo comienza dentro de la mazmorra, en la posición indicada con
O. - La salida se indica con
X. Siempre habrá una salida de la mazmorra y puede estar en cualquier lugar dentro de la mazmorra (no solo en los bordes del mapa). - Ogmo solo puede moverse en cuatro direcciones: derecha
R, izquierdaL, arribaU, abajoD. - Cada paso que Ogmo necesite dar para escapar de la mazmorra debe indicarse en el mapa de solución con
+. - Las paredes de la mazmorra se indican con
#. Ogmo solo puede moverse por los espacios vacíos" ". - Reproduce el diseño multilínea mostrado en los ejemplos y las pruebas.
Ejemplos
escape([
["#", "#", "#", "#", "#"],
["#", "O", " ", " ", "#"],
["#", "#", " ", "#", "#"],
["#", " ", " ", " ", "X"],
["#", "#", "#", "#", "#"]
]) ➞
["#", "#", "#", "#", "#"]
["#", "O", "+", " ", "#"]
["#", "#", "+", "#", "#"]
["#", " ", "+", "+", "+"]
["#", "#", "#", "#", "#"]
# Number of steps to escape from the dungeon: 5
# Escape sequence: RDDRR
escape([
["#", "#", "#", "#", "#"],
["#", "O", " ", "X", "#"],
["#", "#", " ", "#", "#"],
["#", " ", " ", " ", "#"],
["#", "#", "#", "#", "#"]
]) ➞
["#", "#", "#", "#", "#"]
["#", "O", "+", "+", "#"]
["#", "#", " ", "#", "#"]
["#", " ", " ", " ", "#"]
["#", "#", "#", "#", "#"]
# Number of steps to escape from the dungeon: 2
# Escape sequence: RRNotas
Consulta la segunda parte de este desafío: Escapa de la mazmorra II