pattern длины n из букв I и D. Нужно выстроить в ряд все целые числа от 0 до n, каждое ровно один раз, так чтобы ряд следовал шаблону: если pattern[i] равно I, число на позиции i + 1 больше числа на позиции i, а если D — меньше.
Сколько существует таких расстановок? Ответ может быть очень большим, поэтому верните его остаток от деления на 10⁹ + 7.pattern='ID' → 2
Нужны три числа 0, 1, 2, где второе больше соседей: подходят только (0, 2, 1) и (1, 2, 0).
pattern='DDI' → 3
Первые три числа убывают, а последнее больше третьего. Третье число обязано быть 0, и подходят (3, 2, 0, 1), (3, 1, 0, 2) и (2, 1, 0, 3).
pattern='III' → 1
Каждое следующее число больше предыдущего — подходит только порядок по возрастанию.
pattern.length ≤ 200pattern[i] — это I или Dpattern='ID'
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 250 тестов на сервере, включая скрытые.