Description:
Accept:
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1000;
int a[maxn][maxn], t, n, dp[maxn][maxn];
int f()
{
for (int j = 1; j <= n; j++)dp[n][j] = a[n][j];
for (int i = n - 1; i >= 1; i--)
{
for (int j = 1; j <= i; j++)
{
dp[i][j] = max(dp[i + 1][j], dp[i + 1][j + 1]) + a[i][j];
}
}
return dp[1][1];
}
int main()
{
cin >> t;
while (t--)
{
memset(a, 0, sizeof(a));
memset(dp, 0, sizeof(dp));
cin >> n;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
cin >> a[i][j];
}
}
int res = f();
cout << res << endl;
}
return 0;
}