敲个采药玩玩

 

 

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int w[1001],v[100003],f[1001]={0};
 4 int main()
 5 {
 6     int m,n;
 7     scanf("%d %d",&m,&n); //m容量 n种药材 
 8     for(int i=1;i<=n;++i) 
 9         scanf("%d %d",&w[i],&v[i]);//重量 价值 
10     for(int i=1;i<=n;++i)
11         for(int j=w[i]; j<=m;++j)
12             f[j]=max(f[j],f[j-w[i]]+v[i]); //状态转移方程 
13  
14     printf("%d\n",f[m]);
15     return 0;
16 }

 

posted @ 2020-10-01 23:15  然终酒肆  阅读(116)  评论(0)    收藏  举报