Робот-доставщик Яндекса едет по кварталу, размеченному сеткой grid: строка — ряд клеток, '.' — проезд, '#' — перекрыто (стройка, ступеньки).
Робот стартует в левой верхней клетке, финиширует в правой нижней и за шаг сдвигается только вправо или вниз. Сколько разных маршрутов? Ответ может быть большим — верните его по модулю 10⁹ + 7. Если старт или финиш перекрыт, ответ 0.
В работе: Планировщик выбирает квартал для пилота: при одной стройке на углу у робота остаётся 0 маршрутов, а на сетке 600 × 600 перебор путей не закончится никогда.
Пример 1
grid = ["...", ".#.", "..."]
2
Центр перекрыт: только по краю сверху или снизу — 2 маршрута.
Пример 2
grid = [".#", "#."]
0
Из старта не выехать.
Ограничения
- 1 ≤ h, w ≤ 1000
- строки одной длины из символов
.и# - Лимит — 2 с на тест (2000 мс).
print() и console.log() уходят в консоль.
def robot_routes(grid):
Источник: наша задача на данных Яндекса. Условие пересказано своими словами.
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.