UVa147 Dollars

来源:互联网 发布:尽人事知天命 编辑:程序博客网 时间:2024/06/10 04:59

UVa674 coin change的强化,一样的思路,不过先全部乘上个100就好了,只是在精度上必须注意double和long long,因为这个WA了2次,想了N久才想到。还有一次PE了,居然是每一行第一个输出前都有6个空格,简直傻眼

#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <algorithm>using namespace std;#define maxn 30010int coin[12]={10000,5000,2000,1000,500,200,100,50,20,10,5};long long dp[maxn];void hehe(){    int i,j;    memset(dp, 0, sizeof(dp));    dp[0]=1;    for(i=0;i<11;i++)    {        for(j=coin[i];j<maxn;j++)            dp[j]+=dp[j-coin[i]];    }}int main(){    double n;    int a,b,m;    hehe();    while(scanf("%d.%d",&a,&b)&&(a+b))    {        m=a*100+b;        n=m*1.0/100;        printf("%6.2lf",n);        printf("%17lld\n",dp[m]);    }    return 0;}
0 0
原创粉丝点击