#include <stdio.h>
#include <string.h>
#define MAXN 1002
int dp[MAXN][MAXN],map[MAXN][MAXN];
int Max(int a,int b,int c)
{
int temp;
temp=a>b?a:b;
temp=temp>c?temp:c;
return temp;
}
int main()
{
int test,r,c,i,j,cnt=0;
scanf("%d",&test);
while(test--)
{
memset(dp,0,sizeof(dp));
memset(map,0,sizeof(map));
scanf("%d %d",&r,&c);
for (i=1;i<=r;++i)
{
for(j=1;j<=c;++j)
scanf("%d",&map[i][j]);
}
for (i=1;i<=r;++i)
{
for(j=1;j<=c;++j)
dp[i][j]=Max(dp[i-1][j],dp[i][j-1],dp[i-1][j-1])+map[i][j];
}
printf("Scenario #%d:\n",++cnt);
printf("%d\n\n",dp[r][c]);
}
return 0;
}
hdu2391 Filthy Rich
最新推荐文章于 2018-11-17 10:15:48 发布