¿Puedes entrar en la cueva?
Estás jugando un videojuego. Tu pantalla puede representarse como un arreglo 2D, donde los 0 representan áreas transitables y los 1 representan áreas intransitables. Actualmente estás buscando la entrada a una cueva que se encuentra en el lado derecho de la pantalla. Tu personaje comienza en cualquier lugar de la columna más a la izquierda.
Crea una función que determine si puedes entrar en la cueva. Solo puedes moverte a la izquierda, derecha, arriba o abajo (no está permitido moverse en diagonal).
Por ejemplo:
[
[0, 0, 1, 1, 1, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 1, 1, 1, 1, 1, 0]
]¡Encontraste la entrada! La función debería devolver true.
[
[0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 0]
]No, sigue buscando. La función debería devolver false.
Ejemplos
can_enter_cave([
[0, 1, 1, 1, 0, 1, 1, 0],
[0, 0, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 0]
]) ➞ false
# You cannot walk diagonally!
can_enter_cave([
[0, 1, 1, 1, 0, 1, 1, 0],
[0, 0, 1, 1, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 1, 0, 0],
[1, 1, 1, 1, 1, 1, 1, 0]
]) ➞ true
can_enter_cave([
[0, 1, 1, 1, 1, 1, 1, 0],
[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 0, 0, 1, 1, 0]
]) ➞ falseNotas
- Estás viendo la pantalla del juego desde una vista aérea.
- Otra forma de verlo: puedes entrar en la cueva si puedes moverte desde el lado izquierdo de la pantalla hasta el lado derecho, caminando hacia arriba, abajo, izquierda o derecha.
- La entrada no necesariamente está en el primer cuadro; es posible que tengas que buscarla en la columna de la izquierda.