杭电oj2084数塔原题链接
题目描述:
思路:典型的动态规划问题,自顶向下分析,自底向上计算,可以化成一个直角三角形结构。
AC代码:
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
const int N = 110;
int arr[N][N];
int main()
{
int t, n, i, j, ans;
cin >> t;
while(t--)
{
cin >> n;
for(i = 0; i < n; i++)
{
for(j = 0; j <= i; j++)
{
cin >> arr[i][j];
}
}
for(i = n-1; i > 0; i--)
{
for(j = 0; j < i; j++)
{
arr[i][j] = max(arr[i][j],arr[i][j+1]);
arr[i-1][j] += arr[i][j];
}
}
cout << arr[0][0] << endl;
}
return 0;
}