苹果 简单的 01 背包

最简单的背包  直接上代码吧  .

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 #include<iostream>
 5 #include<algorithm>
 6 #include<queue>
 7 #include<vector>
 8 #include<set>
 9 #include<stack>
10 #include<string>
11 #include<sstream>
12 #include<map>
13 #include<cctype>
14 #include<limits.h>
15 using namespace std;
16 #define LEN 1005
17 int c[LEN],w[LEN],dp[LEN];
18 int main()
19 {
20     int n,V;
21     while(scanf("%d%d",&n,&V)&&!(n==V&&n==0))
22     {
23         for(int i=0;i<n;i++)
24             scanf("%d%d",&c[i],&w[i]);
25         memset(dp,0,sizeof(dp));
26         for(int i=0;i<n;i++)    //一个个的 苹果
27         {
28             for(int j=V;j>=0;j--)
29             {
30                 if(j<c[i])
31                     continue;
32                 dp[j]=dp[j]>dp[j-c[i]]+w[i]?dp[j]:dp[j-c[i]]+w[i];
33             }
34         }
35         printf("%d\n",dp[V]);
36     }
37     return 0;
38 }

 

posted @ 2016-05-02 17:27  X-POWER  阅读(182)  评论(0编辑  收藏  举报