#include <iostream>
#include <algorithm>
using namespace std;
int a[101][101];
int main()
{
int NUM;
cin>>NUM;
for(int i=0;i<NUM;i++)
{
for(int j=0;j<=i;j++)
{
cin>>a[i][j];
}
}
/*
for(int i=0;i<NUM;i++)
{
for(int j=0;j<=i;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}*/
for(int i=NUM-2;i>=0;i--)
{
for(int j=0;j<=i;j++)
{
a[i][j]=a[i][j]+max(a[i+1][j],a[i+1][j+1]);
}
}
/*
for(int i=0;i<NUM;i++)
{
for(int j=0;j<=i;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}*/
cout<<a[0][0];
return 0;
}
如图,给出N行数字组成的三角形。求从顶点到底边路径数字之和的最大值。