#include<iostream>
using namespace std;
int fun(int,int,int[],int[]);
void main()
{
int capacity = 100;
int weight[5]={10, 20, 30, 40, 50},
value[5]={5, 35, 30, 35, 60};
cout<<"max value is:"<<fun(4,capacity,weight,value)<<endl;
}
int fun(int bagNum,int remainCap,int weight[],int value[])
{
int a,b,c=0;
if(bagNum<1||remainCap<=0)
return 0;
if (remainCap>=weight[bagNum])
{
a = fun(bagNum-1,remainCap-weight[bagNum],weight,value)+value[bagNum];
b = fun(bagNum-1,remainCap,weight,value);
return a>b? a:b;
}
else return 0;
using namespace std;
int fun(int,int,int[],int[]);
void main()
{
int capacity = 100;
int weight[5]={10, 20, 30, 40, 50},
value[5]={5, 35, 30, 35, 60};
cout<<"max value is:"<<fun(4,capacity,weight,value)<<endl;
}
int fun(int bagNum,int remainCap,int weight[],int value[])
{
int a,b,c=0;
if(bagNum<1||remainCap<=0)
return 0;
if (remainCap>=weight[bagNum])
{
a = fun(bagNum-1,remainCap-weight[bagNum],weight,value)+value[bagNum];
b = fun(bagNum-1,remainCap,weight,value);
return a>b? a:b;
}
else return 0;
}