Ctrl K

Отрезки на пунктирной прямой

Средняя
На прямой отмечено points точек с координатами 0, 1, ..., points − 1. Нужно нарисовать ровно pieces отрезков так, чтобы: - концы каждого отрезка лежали в отмеченных точках, а сам отрезок имел ненулевую длину; - никакие два отрезка не перекрывались. Касаться концами разрешено: отрезки [0, 2] и [2, 3] можно рисовать вместе. Покрывать все точки не обязательно. Наборы отрезков различаются, если отличается хотя бы один отрезок. Посчитайте число способов. Ответ может быть огромным, поэтому верните его по модулю 10⁹ + 7.
Пример 1
points=4, pieces=1 → 6

Один отрезок задаётся любой парой точек из четырёх: 4·3/2 = 6 способов.

Пример 2
points=3, pieces=2 → 1

Единственный вариант — отрезки [0, 1] и [1, 2], которые касаются в точке 1.

Пример 3
points=5, pieces=2 → 15
Ограничения
  • 2 ≤ points ≤ 1000
  • 1 ≤ pieces ≤ points − 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСколько маршрутов по сетке СредняяНикому свой подарок СредняяУпорядоченные слова из гласных СредняяГласные во всех кусках слова СредняяПрогулки ровно из k шагов Средняя
загружаем Python…
Вход
points=4, pieces=1
Ожидается
6

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