#include
#include
using namespace std;
const int MAXN = 1005;
int A[MAXN][MAXN],F[MAXN][MAXN],N;
int max(int a,int b){
if(a>b) return a;
return b;
}
int main() {
int i; cin >> N;
for( i = 1;i <= N;i ++)
for(int j = 1;j <= i;j ++)
cin >> A[i][j];
for( i = 1;i <= N;i ++)
F[N][i] = A[N][i];
for( i = N-1;i >=1;i --)
for(int j = 1;j <= i;j ++)
F[i][j]=max(F[i+1][j],F[i+1][j+1])+A[i][j];
cout << F[1][1] << endl;
return 0;
}
数字三角形逆推法
最新推荐文章于 2020-08-26 20:26:42 发布