uva 147 拆钱(完全背包)

来源:互联网 发布:苏客会孵化器知乎 编辑:程序博客网 时间:2024/05/20 12:47

#include <iostream>#include <cstring>#include <string>#include <algorithm>#include <cstdio>using namespace std;int a[] = {1,2,4,10,20,40,100,200,400,1000,2000};long long dp[30000 + 5];int main(){    dp[0] = 1;    for(int i = 0; i < 11; i++)        for(int j = 1; j*5 <= 30000; j++)            if((j-a[i])>=0)                dp[j] += dp[(j-a[i])];    double temp;    while(scanf("%lf",&temp)){        if(temp == 0.00)            return 0;        double t = temp*20;        int x = t;        printf("%6.2lf%17.lld\n",temp,dp[x]);    }    return 0;}

普通的完全背包,关键在输入输出。uva 不!能!用 I64d  !!!!!!!!!!!!



原创粉丝点击