Schreiben Sie eine Funktion (mit möglichst wenigen Bytes), die ein zweidimensionales Array mit einer beliebigen Anzahl von Spalten und Zeilen enthält, in denen:
0
stellt leeren block dar,1
stellt Schlangenblock dar.
Die Funktion muss die Anzahl der möglichen Pfade zurückgeben, die die Schlange zurückgelegt hat.
Beispiel 1:
Eingang:
[
[1,1,1,1,1],
[0,0,0,0,1],
[0,0,0,0,1],
]
Ausgabe: 2
Im obigen Beispiel wird die Funktion zurückgegeben, 2
da die Antwort eine der folgenden ist:
Beispiel 2:
Eingang:
[
[1,1,1,1],
[0,0,1,1],
[0,0,1,1],
]
Ausgabe: 6
In diesem Beispiel wird die Funktion zurückgegeben, 6
da die Antwort eine der folgenden ist:
Hinweis:
Bei der Bewertung der Eingabe können Sie davon ausgehen, dass:
- Die Arrays, die Spalten darstellen, haben immer die gleiche Größe (die Arrays sind also rechteckig).
- Es gibt mindestens einen gültigen Pfad.
- Die Schlange kann nicht durch die Ränder gehen (wie es in einigen Versionen der Schlange vorkommen kann);
- Die Schlange wird immer mindestens 2 Blöcke haben;
- Die Schlange kann sich nicht diagonal bewegen.
- Die Wege sind gerichtet. (Zwei Pfade, die an unterschiedlichen Positionen enden, aber ansonsten genau gleich aussehen, sind nicht derselbe Pfad. Dies ergibt die Gesamtsumme.)
[[0,0,1,1],[0,0,1,1],[0,0,1,1]]
. Die meisten Antworten geben 16, aber eine gibt 15.