#include<iostream>
#define GOODNUM 5
using namespace std;
int main()
{
int good[GOODNUM][2]={{4,6},{5,2},{6,3},{7,7},{8,5}};//good[i][0]:size||good[i][1]:value
int i,j,size,weight;
int v[GOODNUM+1][1000];
cout<<"please input the bag's size"<<endl;
cin>>size;
for(i=0;i<=GOODNUM;i++)
v[i][0]=0;
for(i=0;i<=size;i++)
v[0][i]=0;
for(i=1;i<=GOODNUM;i++)
for(j=1;j<=size;j++){
v[i][j]=v[i-1][j];
if(good[i-1][0]<=j)
if((v[i-1][j-good[i-1][0]]+good[i-1][1])>v[i][j])
v[i][j]=v[i-1][j-good[i-1][0]]+good[i-1][1];
}
cout<<v[GOODNUM][size]<<endl;
}
简单背包问题模板
最新推荐文章于 2025-02-07 16:35:25 发布