#define _CTR_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
int f[1005] = { 0 };
#if 0
int main()
{
int n[7];
int a[7] = {0,1,2,3,5,10,20};
for (int i=1;i<=6;i++)
{
cin >> n[i];
}
//初始化动态规划数组,做动态规划
f[0] = 1;
for (int i = 1; i <= 6; i++)//对不同型号的砝码进行循环
{
for (int k=1;k<=n[i];k++)//对同一个型号的多个砝码进行循环
{
for (int j = 1000; j >= a[i]; j--)
{
if (j - a[i] >= 0)
f[j] = f[j] + f[j-a[i]];
}
}
}
//3、统计方案总数
int count = 0;
for (int i = 1; i <= 1000; i++)
{
if (f[i])count++;
}
cout << "Total= " << count << endl;
system("pause");
return 0;
}
#endif
砝码称重-背包问题
最新推荐文章于 2022-03-30 19:56:30 发布