0-1背包问题经典算法(递归实现)

#include "iostream"
#define CAPACITY 10
#define GOODSNUM 6

using namespace std;

int nVol[GOODSNUM];
int nValue[GOODSNUM];

int knapsack(int itemIndex,int vol);

void main()
{
 int i=0,j=0;
 while(i {
  cout<<"input the "<  cin>>nVol[i]>>nValue[i];
  i++;
 }
 cout<<"The max value is: "<}

int knapsack(int itemIndex,int vol)
{
 if (itemIndex==0||vol==0)
 {
  return 0;
 }
 else if (vol>=nVol[itemIndex] && knapsack(itemIndex-1,vol)  {
   return knapsack(itemIndex-1,vol-nVol[itemIndex])+nValue[itemIndex];
  }
 else
  return knapsack(itemIndex-1,vol);
}

你可能感兴趣的:(algorithm)