Ecrivez une fonction (en utilisant le moins d'octets possible) qui prend un tableau bidimensionnel de n'importe quel nombre de colonnes et de lignes dans lequel:
0
représente un bloc vide,1
représente le bloc de serpent.
La fonction doit renvoyer le nombre de chemins possibles empruntés par le serpent.
Exemple 1:
Contribution:
[
[1,1,1,1,1],
[0,0,0,0,1],
[0,0,0,0,1],
]
Sortie: 2
Dans l'exemple ci-dessus, la fonction retournera 2
car la réponse est l'une des suivantes:
Exemple 2:
Contribution:
[
[1,1,1,1],
[0,0,1,1],
[0,0,1,1],
]
Sortie: 6
Dans cet exemple, la fonction retournera 6
car la réponse est l'une des suivantes:
Remarque:
Lors de l'évaluation de l'entrée, vous pouvez supposer que:
- Les tableaux représentant les colonnes auront toujours les mêmes tailles (les tableaux sont donc rectangulaires);
- Il existe au moins un chemin valide.
- Le serpent ne peut pas traverser les bords (comme cela peut arriver dans certaines versions de serpent);
- Le serpent aura toujours au moins 2 blocs;
- Le serpent ne peut pas se déplacer en diagonale;
- Les chemins sont dirigés. (Donc, deux chemins se terminant à des positions différentes, mais qui ont exactement la même apparence ne sont pas identiques, cela fera le total)
[[0,0,1,1],[0,0,1,1],[0,0,1,1]]
. La plupart des réponses donnent 16, mais on en donne 15.