Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите, пожалуйста, с задачей по олимпиадному программированию, умоляю!

Просто пальчик Знаток (264), на голосовании 1 месяц назад
Заранее большое спасибо!

Решения через ДП не работают.
Голосование за лучший ответ
AaacoB Aaac Мудрец (14195) 2 месяца назад
ухахахаха... а ну еще жги!
Терр Онтал Мудрец (12750) 2 месяца назад
Можно сделать так:
  1. Находим вес каждой цифры (это предподсчет) и выбрасываем те цифры для которых найдется цифра с таким же весом, но большим номиналом. Т.е. если нам дали 9 и 6, то выкидываем 6 и оставляем 9
  2. Далее работаем с весами: нужно найти разбиение n на сумму с наибольшим количеством слагаемых. Вот тут надо придумать алгоритм, скорее всего ты его сможешь загуглить
  3. Когда нашли разбиение по весам, так как веса из-за пункта 1 однозначно мапятся на в цифры, просто расставляем цифры от больших к меньшим и получаем ответ
Похожие вопросы