hdu1712

来源:互联网 发布:windows server 的区别 编辑:程序博客网 时间:2024/06/04 01:34
/*
分析:
    背包。
dp[i][l]=max(dp[i-1][l],max(dp[i-1][l-k]+x[k]))  (1<=k<=m,x[k]代表第i节课上k天所得profit)。


                                                            2012-05-10
*/






#include"stdio.h"int max(int a,int b){return a>b?a:b;}int main(){int dp[111];int n,m;int x[111];int i,j,k;int ans;while(scanf("%d%d",&n,&m),n||m){if(n==0||m==0){printf("0\n");continue;}for(j=1;j<=m;j++)scanf("%d",&dp[j]);dp[0]=0;for(i=2;i<=n;i++){for(j=1;j<=m;j++)scanf("%d",&x[j]);for(j=m;j>=1;j--)for(k=j;k>=1;k--)dp[j]=max(dp[j],dp[j-k]+x[k]);}ans=0;for(j=1;j<=m;j++)if(dp[j]>ans)ans=dp[j];printf("%d\n",ans);}return 0;}


原创粉丝点击