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背包问题

原文地址:https://www.cnblogs.com/shihuajie/p/2637232.html