#C09L09P01. C09.L09.背包问题.引例1.货币系统.2
C09.L09.背包问题.引例1.货币系统.2
题目描述
奶牛手上有 N 枚硬币,第 i 枚硬币的面值是 d[i] 元。无人售货机有 1000 件礼物,编号从 1 至 1000 ,第件礼物需要 i 元,售货机不设找赎。奶牛想知道:对于第 i 件礼物,有多少种凑币方案可以凑出 i 元?
输入格式
第一行,一个整数 N 。1<=N<= 40。
第二行,N 个整数,第 i 个整数是 d[i] 。1 <= d[i] <= 100。
输出格式
一行,共 1000 个整数,第 i 个整数表示凑出 i 元的方案数。
样例
4
2 3 4 5
0 1 1 1 2 1 2 1 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ......0
完善程序
#include<bits/stdc++.h>
using namespace std;
int n;
int a[105];
long long dp[1005];
int main()
{
cin >> n;
for(int i = 0; i < n; i++)
cin >> a[i];
__填空(1)__ = 1;
for (int i=0;i<n;i++)
for (int j=1000;__填空(2)__;j--)
dp[j] += __填空(3)__;
for(int i=1;i<=1000;i++)
cout << dp[i] << ' ';
return 0;
}
填空(1):{{ input(1) }}
填空(2):{{ input(2) }}
填空(3):{{ input(3) }}
相关
在以下作业中: