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:
0representa bloque vacío,1representa 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á 2porque 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á 6porque 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.

