Ctrl K

Кубик с лимитом серий

Сложная
Электронный кубик выдаёт числа от 1 до 6, но с ограничением: грань i не может выпасть больше max_streak[i − 1] раз подряд. Сколько различных последовательностей ровно из rolls бросков способен выдать такой кубик? Последовательности различаются, если хотя бы на одной позиции у них разные числа. Ответ может быть большим — верните его по модулю 10⁹ + 7.
Пример 1
rolls=2, max_streak=[2, 2, 2, 1, 2, 1] → 34

Без ограничений пар 36. Запрещены только 4, 4 и 6, 6 — эти грани не могут выпасть дважды подряд. Остаётся 34.

Пример 2
rolls=3, max_streak=[1, 1, 1, 1, 1, 1] → 150

Каждый следующий бросок обязан отличаться от предыдущего: 6 · 5 · 5 = 150.

Ограничения
  • 1 ≤ rolls ≤ 5000
  • len(max_streak) = 6
  • 1 ≤ max_streak[i] ≤ 15
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВода между стенами СложнаяСамый большой горящий блок СложнаяПрибыль за две сделки СложнаяВсе способы расставить пробелы СложнаяПереход через пещеру Сложная
загружаем Python…
Вход
rolls=2, max_streak=[2, 2, 2, 1, 2, 1]
Ожидается
34

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