88分求助,谢谢!
查看原帖
88分求助,谢谢!
646851
Kaden_楼主2022/7/3 16:24
#include<iostream>
#include<algorithm>
#include<cstdio> 
using namespace std;
const int maxn=1000;
int a[maxn][maxn],f[maxn][maxn];
int main()
{
	int n,i,j;
	scanf("%d",&n);//金字塔层数
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=i;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	
	f[1][1]=a[1][1];
	for(i=2;i<=n;i++)
	{
		for(j=1;j<=i;j++)
		{
			f[i][j]=max(f[i-1][j-1],f[i-1][j])+a[i][j];
		}
	}
	int sum=0;
	for(i=1;i<=n;i++)
	{
		sum=max(sum,f[n][i]);
	}
	printf("%d",sum);
	
	return 0;
}
2022/7/3 16:24
加载中...