Ctrl K

Вернуться на первую плитку

Сложная
Робот стоит на первой плитке узкого коридора из length плиток, пронумерованных от 0 до length - 1; сейчас он на плитке 0. За один ход робот делает одно из трёх: переходит на соседнюю плитку слева, на соседнюю плитку справа или остаётся на месте. Выходить за пределы коридора нельзя. Сколькими способами робот может сделать ровно steps ходов так, чтобы в конце снова оказаться на плитке 0? Способы различаются последовательностью ходов. Ответ может быть большим — верните его по модулю 10⁹ + 7.
Пример 1
steps=2, length=3 → 2

Либо дважды стоять на месте, либо шаг вправо и шаг обратно — 2 способа.

Пример 2
steps=4, length=1 → 1

Плитка всего одна, остаётся только стоять на месте все 4 хода.

Пример 3
steps=3, length=10 → 4

«стоять, стоять, стоять» плюс три варианта, где одно «стоять» вставлено в пару «вправо, влево»: всего 4.

Ограничения
  • 1 ≤ steps ≤ 500
  • 1 ≤ length ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиШаблон с точкой и звёздочкой СложнаяСамый длинный сбалансированный отрезок скобок СложнаяВода между стенами СложнаяПодходит ли строка под шаблон СложнаяСамый большой горящий блок Сложная
загружаем Python…
Вход
steps=2, length=3
Ожидается
2

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