Escriba una función (utilizando la menor cantidad de bytes posible) que tome una matriz bidimensional de cualquier número de columnas y filas en las que:
0
representa bloque vacío,1
representa el bloque de serpiente.
La función debe devolver el número de caminos posibles que recorrió la serpiente.
Ejemplo 1:
Entrada:
[
[1,1,1,1,1],
[0,0,0,0,1],
[0,0,0,0,1],
]
Salida: 2
En el ejemplo anterior, la función regresará 2
porque la respuesta es una de:
Ejemplo 2
Entrada:
[
[1,1,1,1],
[0,0,1,1],
[0,0,1,1],
]
Salida: 6
En este ejemplo, la función regresará 6
porque la respuesta es una de:
Nota:
Al evaluar la entrada, puede suponer que:
- Las matrices que representan columnas siempre tendrán los mismos tamaños (por lo que las matrices son rectangulares);
- Existe al menos 1 ruta válida;
- La serpiente no puede caminar a través de los bordes (como puede suceder en algunas versiones de serpiente);
- La serpiente siempre tendrá al menos 2 bloques;
- La serpiente no puede moverse en diagonal;
- Los caminos están dirigidos. (por lo tanto, dos rutas que terminan en diferentes posiciones pero que se ven exactamente iguales no son la misma ruta, se sumarán al total)
[[0,0,1,1],[0,0,1,1],[0,0,1,1]]
. La mayoría de las respuestas dan 16, pero una da 15.