Напишіть функцію (використовуючи якомога менше байтів), яка займає двовимірний масив будь-якої кількості стовпців і рядків, у якій:
0
являє собою порожній блок,1
являє собою зміїний блок.
Функція повинна повертати кількість можливих шляхів, якими пройшла змія.
Приклад 1:
Вхід:
[
[1,1,1,1,1],
[0,0,0,0,1],
[0,0,0,0,1],
]
Вихід: 2
У наведеному вище прикладі функція повернеться, 2
тому що відповідь є одним із:
Приклад 2:
Вхід:
[
[1,1,1,1],
[0,0,1,1],
[0,0,1,1],
]
Вихід: 6
У цьому прикладі функція повернеться, 6
тому що відповідь є одним із:
Примітка:
Оцінюючи вхід, ви можете припустити, що:
- Масиви, що представляють стовпці, завжди матимуть однакові розміри (тому масиви прямокутні);
- Існує щонайменше 1 дійсний шлях;
- Змія не може ходити по краях (як це може статися в деяких версіях змії);
- Змія завжди матиме як мінімум 2 блоки;
- Змія не може рухатися по діагоналі;
- Шляхи спрямовані. (так, два контури, що закінчуються на різних позиціях, але в іншому випадку виглядають абсолютно однаково, не є однаковим шляхом, він додасть до загальної кількості)
[[0,0,1,1],[0,0,1,1],[0,0,1,1]]
. Більшість відповідей дають 16, але одна дає 15.