首页 > 代码库 > hiho 第六周 01背包

hiho 第六周 01背包

简单的01背包,没有报名,这周的没有权限提交

 1 #include<iostream> 2 #include<memory.h> 3 using namespace std; 4 #define maxn 505 5 #define maxm 100005 6 int need[maxn],value[maxn]; 7 int dp[maxm]; 8 int main() 9 {10     int n,m;11     while(cin>>n>>m)12     {13         memset(dp,0,sizeof(dp));14         for(int i = 1; i <= n; i++)15             cin>>need[i]>>value[i];16         for(int j = 0; j <= m; j++)17             dp[j] = 0;18         for(int i = 1; i <= n; i++)19             for(int j = m; j >= need[i]; j--)20                 dp[j] = max(dp[j],dp[j - need[i]] + value[i]);21         cout<<dp[m]<<endl;22     }23     return 0;24 }

 

hiho 第六周 01背包