Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int Knapsack_func(int weight[],int value[],int item,int knapsack)
- {
- int m[50][50],p[50][50];
- for(int i=0;i<=item;i++)
- {
- m[0][i]=0;
- }
- for(int i=0;i<=knapsack;i++)
- {
- m[i][0]=0;
- }
- for(int i=0;i<=item;i++)
- {
- for(int j=0;j<=knapsack;j++)
- {
- if((j-weight[i])>=0)
- {
- if(m[i-1][j] > m[i-1][j-weight[i]]+value[i])
- {
- m[i][j]=m[i-1][j];
- p[i][j]='T';
- }
- else
- {
- m[i][j]= m[i-1][j-weight[i]] + value[i];
- p[i][j]='C';
- }
- }
- else
- {
- m[i][j]=m[i-1][j];
- }
- }
- }
- return m[item][knapsack];
- }
- int main()
- {
- int weight[50],value[50],item,knapsack, ans;
- cout<<"enter item number: ";
- cin>>item;
- cout<<"enter knapsack size: ";
- cin>>knapsack;
- cout<<"enter value ";
- for(int i=0;i<item;i++)
- {
- cin>>value[i];
- }
- cout<<"enter weight ";
- for(int i=0;i<item;i++)
- {
- cin>>weight[i];
- }
- ans = Knapsack_func(weight,value,item,knapsack);
- cout << ans << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement