Advertisement
hadiuzzaman65

knapsack problem

Jul 17th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int m=8;
  8.     int n=4;
  9.     int p[]= {1,2,5,6};
  10.     int wt[]= {2,3,4,5};
  11.     int k[n+1][m+1];
  12.     for(int i=0; i<=n; i++)
  13.     {
  14.         for(int w=0; w<=m; w++)
  15.         {
  16.             if(i==0||w==0)
  17.                 k[i][w]=0;
  18.             else if(wt[i]>w)
  19.             {
  20.                 k[i][w]=k[i-1][w];
  21.             }
  22.             else
  23.             {
  24.                 k[i][w]=max(k[i-1][w],p[i]+k[i-1][w-wt[i]]);
  25.             }
  26.  
  27.         }
  28.     }
  29.     for(int i=0; i<n; i++)
  30.     {
  31.         for(int j=0; j<=m;j++)
  32.             cout<< k[i][j]<< " ";
  33.         cout<<endl;
  34.     }
  35. cout<<endl;
  36. cout<<k[n-1][m];
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement