給你一個金額( n cents),請你回答共有多少種硬幣組合的方式。例如:n=11,那麼你可以有以下4種硬幣的組合:
p.s 美國的零錢共有以下5種硬幣以及其面值:
請注意:n=0 我們算他是有一種方式。
思路:又是这个类型的动态规划,[动态规划]UVA357 - Let Me Count The Ways [动态规划]UVA147 - Dollars 这些都是同一个类型的题目。
#include<iostream>
#include<cstring>
using namespace std;
const int maxn=8000;
int coin[5]={1,5,10,25,50};
long long dp[maxn]={1};
int main()
{
int num;
int i,j;
for(i=0;i<5;i++)
{
for(j=0;j<maxn-100;j++)
{
dp[j+coin[i]]=dp[j+coin[i]]+dp[j];
}
}
while(cin>>num)
{
cout<<dp[num]<<endl;
}
return 0;
}NYOJ--郁闷的C小加(一),布布扣,bubuko.com
原文:http://blog.csdn.net/computer_liuyun/article/details/23911337