Ctrl K

Мяч покидает поле

Средняя
Поле размером rows × cols клеток, на клетке (row, col) лежит мяч. Одним ходом мяч перекатывается в соседнюю клетку вверх, вниз, влево или вправо; если соседней клетки нет, мяч вылетает за край поля, и путь на этом заканчивается. Посчитайте, сколькими разными последовательностями ходов мяч может покинуть поле, сделав не больше moves ходов. Ответ может быть огромным, поэтому верните его по модулю 10⁹ + 7.
Пример 1
rows=1, cols=1, moves=2, row=0, col=0 → 4

С единственной клетки мяч выкатывается за край первым же ходом в любую из 4 сторон; вернуться обратно нельзя.

Пример 2
rows=2, cols=3, moves=2, row=0, col=1 → 6

Сразу наружу можно уйти одним способом — вверх. За два хода: сначала влево или вправо (оттуда по 2 выхода), либо вниз (оттуда 1 выход) — всего 1 + 2 + 2 + 1 = 6.

Пример 3
rows=3, cols=3, moves=1, row=1, col=1 → 0

Из центра за один ход до края не добраться.

Ограничения
  • 1 ≤ rows, cols ≤ 50
  • 0 ≤ moves ≤ 50
  • 0 ≤ row < rows
  • 0 ≤ col < cols
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый длинный зеркальный кусок СредняяВсе правильные скобочные строки СредняяМеньше всего прыжков до конца СредняяСамая прибыльная серия дней СредняяДобраться до последней клетки Средняя
загружаем Python…
Вход
rows=1, cols=1, moves=2, row=0, col=0
Ожидается
4

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