背包问题,动态规划

将下面四个重量的物品1,2,2,3 价值分别是9,3,3,6 装进 重量为4的背包中,使得背包的重量不超过4,并且价值最大。

#include
#include
#include
#include 
#include 
#include 
#include

using namespace std;
bool camp(vector&a,vector&b){

    return a[1]<= b[1]? (a[1]==b[1]? a[0] weights={0,1,2,2,3};
    vector value={0,9,3,3,6};
    vector> v(5,vector(5,0));
    int n=4;
    int m=4;
    for(int i=1;i<=n;i++){

        for(int j=1;j<=m;j++){

            if(weights[i]>j){
                v[i][j]=v[i-1][j];
            }else{

                int v1=v[i-1][j];

                int v2=v[i-1][j-weights[i]]+value[i];

                v[i][j]=max(v1,v2);


            }


        }

    }


    cout<

你可能感兴趣的:(算法)