hdu 1712 ACboy needs your help(分组背包入门)

Posted pb2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 1712 ACboy needs your help(分组背包入门)相关的知识,希望对你有一定的参考价值。

 1 /**********************************************************
 2 题目:   ACboy needs your help
 3 链接:   http://acm.hdu.edu.cn/showproblem.php?pid=1712
 4 题意:   一开始输入n和m,n代表有n门课,m代表你有m天,然
 5          后给你一个数组,val[i][j],代表第i门课,在通过j
 6          天去修,会得到的分数。求在m天能得到的最大分数。
 7 算法:   分组背包
 8 
 9 ***********************************************************/
10 
11 #include<iostream>
12 #include<cstring>
13 using namespace std;
14 
15 const int mx=105;
16 int dp[mx][mx],a[mx][mx];
17 
18 int main()
19 {
20     int n,m,i,j,k;
21     while (cin>>n>>m)
22     {
23         if (n==0&&m==0) return 0;
24         
25         ///输入及初始化
26         for (i=1;i<=n;i++)
27         {
28             for (j=1;j<=m;j++) cin>>a[i][j];
29         }
30         memset(dp,0,sizeof(dp));
31     
32        ///分组背包模板。
33         for (i=1;i<=n;i++)
34         {
35            for (j=1;j<=m;j++)
36            {
37                for (k=0;k<=j;k++)    ///k一定要从0开始。
38                dp[i][j]=max(dp[i][j],dp[i-1][j-k]+a[i][k]);
39            }
40         }
41         cout<<dp[n][m]<<endl;
42     }
43 }

 

以上是关于hdu 1712 ACboy needs your help(分组背包入门)的主要内容,如果未能解决你的问题,请参考以下文章

ACboy needs your help HDU - 1712

ACboy needs your help HDU - 1712

hdu 1712 ACboy needs your help

hdu 1712 ACboy needs your help

[HDU1712]ACboy needs your help

HDU 1712 ACboy needs your help(分组背包)