题目大意:有五种硬币,价值分别为50,25,10,5,1
现在给你一个数,问有多少种组成方式
解题思路:完全背包裸题
#include <cstdio>
#include <cstring>
using namespace std;
const int N = 7500;
int val[5] = {1,5,10,25,50};
int n;
int dp[N];
int main() {
while (scanf("%d", &n) != EOF) {
memset(dp, 0, sizeof(dp));
dp[0] = 1;
for (int i = 0; i < 5; i++)
for (int j = val[i]; j <= n; j++)
dp[j] += dp[j - val[i]];
printf("%d\n", dp[n]);
}
return 0;
}