//记忆化搜索
//从最底层开始向上搜索,每次保存最大的值
#include<iostream>
#define MAX 101
using namespace std;

int a[MAX][MAX];

int main()
{
	int cases;
	int height;
	cin >> cases;

	int c[MAX];
	int b[MAX];
	while (cases--)
	{
		cin >> height;

		for (int i = 0; i < height; i++)
		{
			for (int j = 0; j <= i; j++)
				cin >> a[i][j];
		}

		for (int i = height - 1; i > 0; i--)
		{
			for (int j = 0; j < i; j++)
				a[i-1][j] = max(a[i-1][j]+a[i][j], a[i-1][j]+a[i][j+1]);
		}

		cout << a[0][0] << endl;
	}
	return 0;
}

相关文章:

  • 2022-12-23
  • 2021-12-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-27
  • 2021-11-09
  • 2021-05-03
猜你喜欢
  • 2021-06-10
  • 2021-09-14
  • 2021-11-28
  • 2021-04-19
  • 2021-09-08
  • 2021-06-22
  • 2021-06-09
相关资源
相似解决方案