北大oj百练-1163:The Triangle

在节约空间使用D数组的最后一行时要注意一些细节,比如第27行的各个下标

#include
#define maxn 100
using namespace std;
int D[maxn][maxn];
int max(int a,int b)
{
	if(a>b)
	return a;
	else
	return b;
}
int main()
{
	int n;
	cin >> n;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<=i;j++)
		{
			scanf("%d",&D[i][j]);	//表示第i行第j列 
		}
	}
	for(int i=n-1;i>=1;i--)
	{
		for(int j=0;j<i;j++)
		{
			D[n-1][j]=max(D[n-1][j],D[n-1][j+1])+D[i-1][j];
		}
	}
	cout << D[n-1][0] <<endl;
}

你可能感兴趣的:(北大oj百练-1163:The Triangle)