Ctrl K

Маршруты тележки по складу

Средняя
Пол склада размечен на клетки и описан матрицей floor из m строк и n столбцов: 0 — свободная клетка, 1 — клетка, где стоит стеллаж. Робот-тележка стартует в левом верхнем углу (floor[0][0]) и должен доехать до погрузочной зоны в правом нижнем углу (floor[m - 1][n - 1]). За один ход тележка сдвигается на соседнюю клетку вниз или вправо, а заезжать на клетки со стеллажами не может. Если стеллаж стоит на старте или на финише, доехать нельзя. Верните количество различных маршрутов от старта до погрузочной зоны. Гарантируется, что ответ не превышает 2·10⁹.
Пример 1
floor=[[0, 0, 0], [0, 0, 1], [0, 0, 0]] → 3

Стеллаж стоит в правом конце средней строки. Без него маршрутов было бы 6, но три из них проходят через клетку со стеллажом, поэтому остаётся 3.

Пример 2
floor=[[0, 1], [1, 0]] → 0

Оба соседа стартовой клетки заняты, тележка не может сдвинуться с места.

Пример 3
floor=[[0, 0, 0, 0]] → 1

В одну строку путь только один — всё время вправо.

Ограничения
  • 1 ≤ m, n ≤ 100
  • floor[i][j] равно 0 или 1
  • Ответ не превышает 2·10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДешёвый маршрут из угла в угол СредняяСамый большой сплошной квадрат СредняяЛучшее место для пушки СредняяШаги до ближайшего нуля СредняяСамая длинная светящаяся линия Средняя
загружаем Python…
Вход
floor=[[0, 0, 0], [0, 0, 1], [0, 0, 0]]
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 105 тестов на сервере, включая скрытые.