嘛~付钱吧!
Time Limit:1000MS Memory Limit:65535KB 64bit IO Format:%I64d & %I64u
Description
大白菜带着套套去超市买好吃的,到了付钱的时候,收银员告诉大白菜需要付N元。
大白菜突然想知道自己付钱有多少种方法,求助我们聪明的ACMER来告诉他,有几种付钱的方法。
(已知,我天朝有,红色老人头,绿色老人头,黄色老人头
(100,50,20,10,5,1
)等等,ps:当大白菜带着套套的时候,他将化身无敌大款,各种老人头要多少有多少);
Input
输入的N都是整数(N<=1000)
Output
对于每个输入,请给出大白菜付钱的方法数
Sample Input
1 5 10
Sample Output
1 2 4
Hint
无
就是小鑫换零钱
#include<stdio.h>
int dp[3501];
int main()
{
int w[] = {1,5,10,20,50,100};
int i,j;
int n;
dp[0]=1;
for(i=0; i<=5; i++)
{
for(j=i; j<=1005; j++)
{
dp[j] = dp[j] + dp[j-w[i]];
}
}
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",dp[n]);
}
return 0;
}