0-1 Knapsack Unsing DP
0-1 Knapsack Unsing DP
#include <stdio.h>
void main() {
int n,profit[10],weight[10],capacity,i,result;
printf("enter profits");
for(i=0;i<n;i++)
{
scanf("%d",&profit[i]);
printf("enter weights");
for(i=0;i<n;i++)
scanf("%d",&weight[i]);
printf("enter capacity");
scanf("%d",&capacity);
result=knapsack(profit,weight,n,capacity);
int a[10][10];
int i,w;
for(i=0;i<=n;i++)
for(w=0;w<=c;w++)
{
if(i==0||w==0)
a[i][w]=0;
else if(wt[i-1]>w)
a[i][w]=a[i-1][w];
}
else
a[i][w]=max(a[i-1][w],a[i-1][w-wt[i-1]]+p[i-1]);
}
}
return a[n][c];
return (a>b)?a:b;
}
Output:
enter profits3
5
6
enter weights2
enter capacity5