ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Задача 98841
Тема:    [ Динамическое программирование (прочее) ]
Сложность: 4
Классы:
В корзину
Прислать комментарий

Условие

(Счастливые билеты; предлагалась на Всесоюзной олимпиаде по программированию 1989 года.) Последовательность из 2n цифр (каждая цифра от 0 до 9) называется счастливым билетом, если сумма первых n цифр равна сумме последних n цифр. Найти число счастливых последовательностей данной длины.

Решение

(Сообщено одним из участников олимпиады; к сожалению, не могу указать фамилию, так как работы проверялись зашифрованными.) Рассмотрим более общую задачу: найти число последовательностей, где разница между суммой первых n цифр и суммой последних n цифр равна k ( k = - 9n,..., 9n). Пусть T(n, k) — число таких последовательностей. Разобьём множество таких последовательностей на классы в зависимости от разницы между первой и последней цифрами. Если эта разница равна t, то разница между суммами групп из оставшихся n - 1 цифр равна k - t. Учитывая, что пар цифр с разностью t бывает 10 - | t|, получаем формулу

T(n, k) = $\displaystyle \sum\limits_{t=-9}^{9}$(10 - | t|)T(n - 1, k - t).

(Некоторые слагаемые могут отсутствовать, так как k - t может быть слишком велико.)

Источники и прецеденты использования

книга
Автор А.Шень
Название Программирование: теоремы и задачи
Издательство МЦНМО
Издание второе
Год издания 2004
глава
Номер 2
Название Порождение комбинаторных объектов
параграф
Номер 7
Название Подсчёт количеств
задача
Номер 2.7.2

© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .