算法题:UVA 10943 - How do you add?(dp)2014-04-19Problem A: How do you add?

Larry is very bad at math - he usually uses a calculator, which worked well throughout college. Unforunately, he is now struck in a deserted island with his good buddy Ryan after a snowboarding accident. They"re now trying to spend some time figuring out some good problems, and Ryan will eat Larry if he cannot answer, so his fate is up to you!It"s a very simple problem - given a number N, how many ways can K numbers less than N add up to N?For example, for N = 20 and K = 2, there are 21 ways:0+201+192+183+174+165+15...18+219+120+0InputEach line will contain a pair of numbers N and K. N and K will both be an integer from 1 to 100, inclusive. The input will terminate on 2 0"s.OutputSince Larry is only interested in the last few digits of the answer, for each pair of numbers N and K, print a single number mod 1,000,000 on a single line.Sample Input20 220 20 0Sample Output2121