您的位置:首页 > 其它

uva 147 Dollars

2015-06-13 21:48 288 查看
题意:给出一个金额问有多少种组成方法;

思路:预处理+递推;

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
long long a[500010];
int b[]={1,2,4,10,20,40,100,200,400,1000,2000};
int main()
{
for(int i=0;i<=6000;i++) a[i]=1;
for(int i=1;i<11;i++)
{
for(int j=b[i];j<=6000;j++)
a[j]+=a[j-b[i]];
}
double d;
while(scanf("%lf",&d)!=EOF)
{
if(d==0.0) break;
int n=int(d*20.0);
printf("%6.2lf%17lld\n",d,a
);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: