Ctrl K

Числа-лесенки в диапазоне

Сложная
Назовём натуральное число **лесенкой**, если любые две соседние цифры в его записи отличаются ровно на 1. Например, 4565 и 10 — лесенки, а 122 и 135 — нет. Любое однозначное число тоже считается лесенкой. Границы диапазона даны строками lo и hi (числа бывают очень длинными). Посчитайте, сколько лесенок лежит в отрезке от lo до hi включительно. Числа записываются без ведущих нулей. Ответ может быть огромным, поэтому верните его по модулю 10⁹ + 7.
Пример 1
lo="8", hi="23" → 6

Подходят 8, 9, 10, 12, 21 и 23 — всего 6. Например, 11 не подходит: соседние цифры равны, а 20 — потому что 2 и 0 отличаются на 2.

Пример 2
lo="300", hi="345" → 4

Внутри диапазона лесенками являются только 321, 323, 343 и 345.

Пример 3
lo="1", hi="9" → 9
Ограничения
  • 1 ≤ len(lo), len(hi) ≤ 100
  • lo и hi состоят только из цифр и не начинаются с нуля
  • 1 ≤ int(lo) ≤ int(hi)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиШаблон с точкой и звёздочкой СложнаяСамый длинный сбалансированный отрезок скобок СложнаяПодходит ли строка под шаблон СложнаяПеретасовка разрезами СложнаяСколькими способами вычеркнуть Сложная
загружаем Python…
Вход
lo="8", hi="23"
Ожидается
6

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