一个背包最大可装重量为w,现在有n个物品,其重量和价值分别为wi和vi,背包每个物品只能装1个,现在问如何从这n个物品中选择装物品使得重量不超过w的情况下,背包装的物品的价值v最大,这样的问题可称为0-1背包问题。
//0-1背包问题 用动态规划法实现
//问题描述
//一个背包最大可装重量为w,现在有n个物品
//其重量和价值分别为wi和vi,背包每个物品只能装1个,现在问如何从这n个物品中选择装物品
//使得重量不超过w的情况下,背包装的物品的价值v最大
#include <iostream>
using namespace std;
int f[101];
int w[101],v[101];
int main()
{
int c,n,j;
cout<<"input the max weight of the bag:";
cin>>c;
cout<<"input n:";
cin>>n;
for(int i=1;i<=c;i++)
{
f[i]=0;
}
cout<<"input the weight and value of the n things:"<<endl;
for(int i=1;i<=n;i++)
{
cout<<i<<" "