Tulis fungsi (menggunakan sesedikit mungkin byte) yang mengambil array dua dimensi dari sejumlah kolom dan baris di mana:
0
mewakili blok kosong,1
mewakili blok ular.
Fungsi harus mengembalikan jumlah kemungkinan jalur yang dilalui ular.
Contoh 1:
Memasukkan:
[
[1,1,1,1,1],
[0,0,0,0,1],
[0,0,0,0,1],
]
Keluaran: 2
Pada contoh di atas, fungsi akan kembali 2
karena jawabannya adalah salah satu dari:
Contoh 2:
Memasukkan:
[
[1,1,1,1],
[0,0,1,1],
[0,0,1,1],
]
Keluaran: 6
Dalam contoh ini fungsi akan kembali 6
karena jawabannya adalah salah satu dari:
catatan:
Saat menilai input, Anda dapat mengasumsikan bahwa:
- Array yang mewakili kolom akan selalu memiliki ukuran yang sama (sehingga array berbentuk persegi panjang);
- Setidaknya ada 1 jalur yang valid;
- Ular tidak dapat berjalan melalui tepian (seperti yang dapat terjadi pada beberapa versi ular);
- Ular akan selalu memiliki setidaknya 2 blok;
- Ular tidak bisa bergerak secara diagonal;
- Jalan diarahkan. (jadi, dua jalur berakhir pada posisi yang berbeda tetapi sebaliknya tampak sama persis bukan jalan yang sama, itu akan menambah hingga total)
[[0,0,1,1],[0,0,1,1],[0,0,1,1]]
. Sebagian besar jawaban memberi 16, tetapi satu memberi 15.