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

hihoCoder #1038 : 01背包

时间:2015-04-17 23:47:24      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

 

 

思路:直接 DP解的,方式固定。

 

技术分享
 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <cstring>
 4 #include <string>
 5 using namespace std;
 6 
 7 int dp[100005];
 8 int coms[505];
 9 int value[505];
10 int max(int a, int b){return a>b?a:b;}
11 
12 int main()
13 {
14     //freopen("e:input.txt","r",stdin);
15     int n, m;
16     while(cin>>n >>m )
17     {
18         for(int i=0; i<n; i++)
19             cin>>coms[i]>>value[i];
20 
21         memset(dp, 0, sizeof(dp));
22 
23         for(int i=0; i<n; i++)
24             for(int j=m-1; j>=coms[i]; j--)
25                 dp[j] = max( dp[j], dp[j-coms[i]]+value[i] );    //对于每种奖品,有两种可能,1换  2不换
26         cout<<dp[m-1]<<endl;
27     }
28     return 0;
29 }
1038

 

hihoCoder #1038 : 01背包

标签:

原文地址:http://www.cnblogs.com/xcw0754/p/4436348.html

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