输入输出很重要
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define COIN_TYPE 11
#define MAXN 30000 + 1000
int coin[] = {
10000, 5000, 2000, 1000, 500,
200, 100, 50, 20, 10, 5
};
unsigned long long dp[MAXN];
void dynamic_programming(void)
{
memset(dp, 0, sizeof(dp)); dp[0] = 1;
for(int i = 0; i < COIN_TYPE; i ++) {
for(int j = 5; j < MAXN; j ++) {
if( j < coin[i] ) {
continue;
}
dp[j] += dp[j-coin[i]];
}
}
}
int main(int argc, char const *argv[])
{
#ifndef ONLINE_JUDGE
freopen("test.in", "r", stdin);
#endif
int left, right;
dynamic_programming();
while( scanf("%d.%d", &left, &right) ) {
if( !left && !right ) {
break;
}
left *= 100; left += right;
printf("%6.2lf%17llu\n", (double)left/100.0, dp[ left ]);
}
return 0;
}
uva_147 Dollars
最新推荐文章于 2021-02-01 21:00:38 发布