首页 > 其他 > 详细

【HDU1712】ACboy needs your help(分组背包)

时间:2014-09-24 23:02:38      阅读:311      评论:0      收藏:0      [点我收藏+]

将背包九讲往后看了看,学习了一下分组背包。来做几道入门题,试试手。

 

 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdlib>
 4 #include <cstdio>
 5 #include <cmath>
 6 #include <cctype>
 7 #include <algorithm>
 8 #include <numeric>
 9 #include <limits.h>
10 #include <set>
11 using namespace std;
12 
13 int dp[105], value[110][110];
14 
15 int main () {
16     ios :: sync_with_stdio (false);
17     int m, n;
18     while (cin >> m >> n) {
19         if (m == 0 && n == 0) break;
20         memset (value, 0, sizeof(value));
21         memset (dp, 0, sizeof(dp));
22         for (int i = 1; i <= m; ++ i) {
23             for (int j = 1; j <= n; ++ j) {
24                 cin >> value[i][j];
25             }
26         }
27         for (int i = 1; i <= m; ++ i) {
28             for (int j = n; j >= 1; j --) {
29                 for (int k = 1; k <= j; ++ k) {
30                     dp[j] = max(dp[j], dp[j - k] + value[i][k]);
31                 }
32             }
33         }
34         cout << dp[n] << endl;
35     }
36     return 0;
37 }

 

【HDU1712】ACboy needs your help(分组背包)

原文:http://www.cnblogs.com/Destiny-Gem/p/3991608.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!