56分求解
查看原帖
56分求解
138556
wb913292851楼主2022/11/2 20:16
#include <iostream>
using namespace std;

int main()
{//输入
   int a; cin >> a;
   int** b = new int*[a];
   for (int i = 0; i < a; i++)
   {
   	b[i] = new int[a];
   	for (int j = 0; j <= i; j++)
   	{
   		cin >> b[i][j];
   	}
   }
// 从下到上计算
   for (int i = a - 2; i >= 0; i--)
   {
   	for (int j = 0; j < i; j++)
   	{
   		if (b[i+1][j] <=b[i+1][j+1] )
   		{
   			b[i][j] += b[i + 1][j + 1];
   		}
   		else
   		{
   			b[i][j] += b[i + 1][j];
   		}
   		

   	}
   }
   b[0][0] += max(b[1][0], b[1][1]);//补充第一行的结果
   cout << b[0][0];
 //求问问题在哪
 //https://www.luogu.com.cn/record/92579749
   return 0;
}
2022/11/2 20:16
加载中...