forked from piyush-kash/Hacktober2021-cpp-py
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKnapsack.cpp
More file actions
35 lines (32 loc) · 772 Bytes
/
Knapsack.cpp
File metadata and controls
35 lines (32 loc) · 772 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream.h>
#include<conio.h>
#include<stdlib.h>
int max(int a, int b) { return (a > b) ? a: b; }
int knapSack(int W, int wt[], int val[], int n){
if (n == 0 || W == 0)
return 0;
if (wt[n - 1] > W)
return knapSack(W, wt, val, n - 1);
else
return max(val[n - 1]+ knapSack(W - wt[n - 1],wt, val, n - 1),knapSack(W, wt, val, n - 1));
}
int main()
{
clrscr();
int val[100];
int w[100];
int n;
cout<<"Enter the number of elements"<<endl;
cin>>n;
cout<<"Enter the weights and values"<<endl;
for(int i=0;i<n;i++){
cin>>w[i];
cin>>val[i];
}
int W;
cout<<"Enter the maximum weight"<<endl;
cin>>W;
cout << knapSack(W, w, val, n);
getch();
return 0;
}