Ctrl K

Никому свой подарок

Средняя
На новогоднюю вечеринку пришли n гостей, и каждый принёс по одному подарку. Подарки собрали в мешок и раздают заново: каждый гость получает ровно один подарок, но никто не должен получить тот, который принёс сам. Сколькими способами можно так раздать подарки? Ответ может быть очень большим, поэтому верните его по модулю 10⁹ + 7.
Пример 1
n=3 → 2

Если подарки 1, 2, 3 принесли гости 1, 2, 3, подходят только раздачи (2, 3, 1) и (3, 1, 2).

Пример 2
n=1 → 0

Единственный гость может получить только свой же подарок.

Пример 3
n=4 → 9
Ограничения
  • 1 ≤ n ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСколько маршрутов по сетке СредняяОтрезки на пунктирной прямой СредняяУпорядоченные слова из гласных СредняяГласные во всех кусках слова СредняяПрогулки ровно из k шагов Средняя
загружаем Python…
Вход
n=3
Ожидается
2

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