#include <iostream>
using namespace std;
#define N 100 //默认有99个物品。第一个不使用
int w[N]; //每个物品的重量
int v[N]; //每个物品的价值
int n,c; //n:一共有多少物品,c:背包的最大容量
int cw = 0; //当前放入背包的物品总重量,随着对解空间的不断深入而变化
int cv = 0; //当前放入背包的物品总价值,随着对解空间的不断深入而变化
int bestv = 0; //最优值;当前的最大价值,初始化为0,满足的话就连同修改储存的最优解
int x[N]; //x[i]=1:物品i放入背包,0代表不放入
int bestx[N]; //最优解;bestx[i]=1代表物品i放入背包,0代表不放入
void input()
{
cout<<"How many items ? ";
cin>>n;
cout<<endl;
cout<<"How much capacity ? ";
cin>>c;
cout<<endl;
cout
剪枝函数-----0-1背包问题(c++)
最新推荐文章于 2024-06-10 16:53:44 发布