码迷,mamicode.com
首页 > 其他好文 > 详细

背包(采药)

时间:2014-11-24 00:41:01      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   sp   for   

有n件物品和一个容量为c的背包。第i件物品的重量是w[i],价值是 v[i]。求解将哪些物品装入背包可使这些物品的重量和不超过背包容量,且价值总和最大。输出总价值。

Sample Input

130 10

54 68

4 58

85 67

1 6

35 64

84 57

7 98

57 75

36 96

72 5

 

70 3

71 100

69 1

1 2

Sample Onput

333

3

 

bubuko.com,布布扣
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<cstring>
 5 #include<cstdlib>
 6 using namespace std;
 7 int g[100][1000];
 8 int main()
 9 {
10     int c,n;
11     while(~scanf("%d%d",&c,&n))
12     {
13         int i,j,w,v;
14         scanf("%d%d",&w,&v);
15         for(i=1;i<=w;i++)
16         g[1][i]=0;
17         for(i=w;i<=c;i++)
18         g[1][i]=v;
19         for(i=2;i<=n;i++)
20         {
21             scanf("%d%d",&w,&v);
22             for(j=1;j<=c;j++)
23             {
24                 if(j<w)
25                 g[i][j]=g[i-1][j];
26                 else
27                 g[i][j]=max(g[i-1][j-w]+v,g[i-1][j]);
28             }
29         }
30         printf("%d\n",g[n][c]);
31     }
32     return 0;
33 }
View Code

 

背包(采药)

标签:style   blog   http   io   ar   color   os   sp   for   

原文地址:http://www.cnblogs.com/xuesen1995/p/4117688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!