ybt 1258 数塔

#include <iostream>
#include <algorithm>
#include<cstdio> 
using namespace std;
int a[1005][1005],b[1005][1005];
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++)
			scanf("%d",&a[i][j]);
	}
	for(int i=n;i>=1;i--){
		for(int j=1;j<=i;j++){
			b[i][j]=max(b[i+1][j+1],b[i+1][j])+a[i][j];//等于下面两个之间最大的加上本身
		}
	}
	printf("%d",b[1][1]);
	return 0;
}

 

posted @ 2022-05-22 11:53  半喜  阅读(41)  评论(0)    收藏  举报