Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js
 

print5. Касты

Используем динамическое программирование и длинную арифметику для расчета количества чисел с заданной суммой. В ячейке T[K,S] таблицы для динамического программирования хранится количество номеров из K цифр с суммой S. Построив таблицу T до K-ой строки можно построить (K+1) строку, выполнив суммирование для S от 0 до K9 и для j от 0 до 9 T[K+1,S+j]:=. Для вычислений нужны только 2 строки таблицы.
Лобовой вариант – перебор всех чисел от 0 до 10^N и подсчет количества чисел с заданной суммой среди них давал 8 баллов. 18 баллов можно было получить с помощью динамического программирования и таблицы T с ячейками типа extended для N\ <\ 20.
loading