#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int n; 
int maxs=0;
int dp[355][355];
int main(){
	cin>>n;
	memset(dp,0,sizeof(dp));
	for(int i=1;i<=n;i++)
	    for(int j=1;j<=i;j++)
	        cin>>dp[i][j];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++){
			dp[i][j]+=max(dp[i-1][j],dp[i-1][j-1]);
			if(i==n){
				 maxs=max(dp[i][j],maxs);
			}
		}
	cout<<maxs<<endl;
} 
原文:https://www.cnblogs.com/beiyueya/p/12657950.html