#include<iostream>
#define max(a,b) a>b?a:b
using namespace std;
int main(void) {
int n;
cin>>n;
int a[n+1][n+1]= {};
int b[n+1][n+1]= {};
for(int i=1,k=1; i<=n; i++) {
for(int j=1; j<=k; j++) {
cin>>a[i][j];
}
k++;
}
b[1][1]=a[1][1];
for(int i=2,k=2; i<=n; i++) {
for(int j=1; j<=k; j++) {
if(j<=k)b[i][j]=max(b[i][j],b[i-1][j]+a[i][j]);
if(j-1>0)b[i][j]=max(b[i][j],b[i-1][j-1]+a[i][j]);
}
k++;
}
int maxitem=b[n][1];
for(int i=2; i<=n; i++) {
if(b[n][i]>maxitem)maxitem=b[n][i];
}
cout<<maxitem;
return 0;
}
LQ ALGO-124 数字三角形
于 2020-09-22 19:16:15 首次发布