#include<bits/stdc++.h>
using namespace std;
int main(void)
{
int m,n;
int d[500][500];
int dp[500][500];
scanf("%d",&m);
while(m--)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
scanf("%d",&d[i][j]);
}
}
memset(dp,0,sizeof dp);
dp[1][1]=d[1][1];
for(int i=1;i<=n;i++)
{
dp[n][i]=d[n][i];
}
for(int i=n;i>1;i--)
{
for(int j=1;j<=i;j++)
{
dp[i-1][j] = max(dp[i-1][j], dp[i][j]+d[i-1][j]);
dp[i-1][j-1] = max(dp[i-1][j-1], dp[i][j]+d[i-1][j-1]);
}
}
printf("%d\n",dp[1][1]);
}
return 0;
}
hdoj 数塔
最新推荐文章于 2021-09-06 20:10:02 发布