【解题报告】[动态规划] RQNOJ - PID15 / 采药

原题地址:http://www.rqnoj.cn/problem/15

好久以前做的题了,是个背包问题,就不解释了。

 1 #include<stdio.h>
 2 #define MAX 100
 3 int we[MAX],p[MAX];
 4 int ss[2000];
 5 int f(int w,int n)
 6 {
 7     int i,j;
 8         for(j=0;j<2000;j++)
 9             ss[j]=0;
10     for(i=1;i<n+1;i++)
11         for(j=w;j>0;j--)
12         {
13             if(we[i]<=j)
14             {
15                 if(p[i]+ss[j-we[i]]>ss[j])
16                     ss[j]=p[i]+ss[j-we[i]];
17             }
18         }
19     return ss[w];
20 }
21 int main()
22 {
23     int n,w,i,j;
24         scanf("%d%d",&w,&n);
25         for(i=1;i<=n;i++)
26             scanf("%d%d",&we[i],&p[i]);
27         printf("%d\n",f(w,n));
28 
29     return 0;
30 }
View Code

 

posted on 2014-04-21 22:46  T^T  阅读(197)  评论(0)    收藏  举报

导航