Filthy Rich(链接)
Sample Input
1 3 4 1 10 8 8 0 0 1 8 0 27 0 4
Sample Output
Scenario #1: 42
注意要求:每组测试数据后输出一个空行
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn = 1050;
int dp[maxn][maxn];
int T,n,m,Max;
int main()
{
scanf("%d",&T);
for(int k=1;k<=T;k++)
{
int xx;
memset(dp,0,sizeof(dp));
Max=0;
scanf("%d%d",&n,&m);
scanf("%d",&dp[0][0]);
for(int i=1;i<m;i++)
{
scanf("%d",&xx);
dp[0][i]=dp[0][i-1]+xx;
}
for(int i=1;i<n;i++)
{
scanf("%d",&xx);
dp[i][0]=dp[i-1][0]+xx;
for(int j=1;j<m;j++)
{
scanf("%d",&xx);
dp[i][j]=max(dp[i][j-1],dp[i-1][j])+xx;
}
}
printf("Scenario #%d:\n%d\n\n",k,dp[n-1][m-1]); //注意这里
}
return 0;
}