nyoj-289-苹果

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<algorithm>
 4 #include<math.h>
 5 using namespace std;
 6 int back[1010];
 7 int main()
 8 {
 9     int n,v,c,w,i,j;
10     while(scanf("%d%d",&n,&v),n||v)
11     {
12         memset(back,0,sizeof(back));
13         for(i=0;i<n;i++)
14         {
15             scanf("%d%d",&c,&w);
16             for(j=v;j>=c;j--)
17                 back[j]=back[j-c]+w>back[j]?back[j-c]+w:back[j];
18         }
19         printf("%d\n",back[v]);
20     }
21     return 0;
22 }

简单的01背包

posted @ 2013-07-17 08:43  nylg-haozi  阅读(123)  评论(0编辑  收藏  举报