南阳289----苹果

 1 //典型01背包。因为没置0还wa一次。。。。。。。
 2 #include<cstdio>
 3 #include<cstring>
 4 int v,d[1005];
 5 
 6 void bag(int c,int w)
 7 {
 8     for(int i=v; i>=c; --i)
 9         if(d[i-c] + w > d[i])
10             d[i] = d[i-c] + w;
11 }
12 
13 int main()
14 {
15     int n,c,w;
16     while(~scanf("%d%d",&n,&v) && n+v != 0)
17     {
18         memset(d,0,sizeof d);
19         while(n--)
20         {
21             scanf("%d%d",&c,&w);
22             bag(c,w);
23         }
24         printf("%d
",d[v]);
25     }
26     return 0;
27 }
原文地址:https://www.cnblogs.com/qq188380780/p/6736109.html