1290:采药
这个题就是一个01背包的模板题;
代码:
1 #include<iostream> 2 using namespace std; 3 struct zkw{ 4 int w; 5 int c; 6 }; 7 zkw a[3500]; 8 int f[2200]; 9 int main() 10 { 11 int m,n; 12 cin>>m>>n; 13 for(int i=1;i<=n;++i) 14 { 15 cin>>a[i].w>>a[i].c; 16 } 17 for(int i=1;i<=n;++i) 18 { 19 for(int j=m;j>=a[i].w;--j) 20 { 21 f[j]=max(f[j],f[j-a[i].w]+a[i].c); 22 } 23 } 24 cout<<f[m]; 25 return 0; 26 }