Ctrl K

Уравновешенные перестановки цифр

Сложная
Дана строка digits из десятичных цифр. Назовём строку уравновешенной, если сумма цифр на чётных позициях (0, 2, 4, …) равна сумме цифр на нечётных позициях (1, 3, 5, …). Верните, сколько различных строк, полученных перестановкой символов digits, уравновешены. Одинаковые строки считаются один раз. Ответ может быть большим — верните его по модулю 10⁹ + 7.
Пример 1
digits="242" → 1

Различных перестановок три: 224, 242, 422. Только у 242 суммы совпадают: 2 + 2 на чётных местах и 4 на нечётном.

Пример 2
digits="1203" → 8

Нужно разбить цифры на две пары с суммой 3: {1, 2} и {0, 3}. Каждую пару можно поставить на чётные места (2 варианта), внутри пары — 2 порядка, и у второй пары тоже 2: всего 2 · 2 · 2 = 8.

Пример 3
digits="115" → 0

Сумма цифр 7 нечётная, поровну её не разделить — ответ 0.

Ограничения
  • 2 ≤ len(digits) ≤ 80
  • digits состоит только из цифр от 0 до 9
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСжатие числом единиц СложнаяГласные во всех кусках слова СредняяДегустаторы и испорченная бочка СложнаяЧисла с рабочих клавиш СложнаяЭфир без частых повторов Сложная
загружаем Python…
Вход
digits="242"
Ожидается
1

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