1、回溯法背包问题.txt 男人的承诺就像 80 岁老太太的牙齿,很少有真的。你嗜烟成性的时候,只有三种人会高兴,医生 你的仇人和卖香烟的。#include#include using namespace std;class Knapfriend int Knaspack(int *,int *,int ,int );public :int Bound(int i);void Backtrack(int i);int c;/背包数量int n;/物品数int *w;/物品重量数组int *p;/物品价值数组int cw;/当前重量int cp;/当前价值int bestp;/当前最有价值;void
2、 Knap:Backtrack(int i)if(in)bestp=cp;return ;if(cw+wibestp)Backtrack(i+1);int Knap:Bound(int i)int cleft=c-cw;int b=cp;while(i=a.d);int ID;float d;int Knapsack(int p,int w,int c,int n)int W=0;int P=0;Object * Q=new Objectn;for(int i=1;in;coutc;w=new int n+1;w0=0;coutwi;p=new int n+1;p0=0;coutpi;cout“最优值:“Knapsack(p,w,c,n)endl;