#include<cstdio>
#include<cstring>
#define INF 0x3f3f3f3f
#define MAX(x,y) ((x)>(y)?(x):(y))
int dp[200][200];
int w[200][200];
int main()
{
int f,v;
scanf("%d%d",&f,&v);
for(int i=1;i<=f;i++)
for(int j=1;j<=v;j++)
scanf("%d",&w[i][j]);
for(int i=0;i<=f;i++)
for(int j=0;j<=v;j++)
dp[i][j]=-INF;
dp[0][0]=0;
for(int i=1;i<=f;i++)
{
for(int j=i;j<=v-(f-i);j++)
{
for(int k=1;k<=j;k++)
{
if(dp[i-1][j-k]!=-INF)
dp[i][j]=MAX(dp[i][j],dp[i-1][j-k]+w[i][j]);
}
}
}
int res;
for(int i=1;i<=v;i++)
res=MAX(res,dp[f][i]);
printf("%d\n",res);
}
poj 1157 dp
最新推荐文章于 2024-10-01 18:52:56 发布