nyoj49 开心的小明

 1 #include<cstring>
 2 #include<iostream>
 3 using namespace std;
 4 int main()
 5 {
 6     int i,T,n,m,v,w;
 7     int f[30001];
 8     cin>>T;
 9     while(T--){
10         cin>>n>>m;
11         memset(f,0,(n+1)*sizeof(int));
12         while(m--){
13             cin>>v>>w;
14             for(w*=v,i=n;i>=v;i--)
15                 f[i]=max(f[i],f[i-v]+w);
16         }
17         cout<<f[n]<<endl;
18     }
19     return 0;
20 }

//0-1背包问题

posted on 2012-08-13 23:20  小花熊  阅读(315)  评论(0编辑  收藏  举报

导航