Напишите функцию (используя как можно меньше байтов), которая принимает двумерный массив любого числа столбцов и строк, в котором:
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.