#include<bits/stdc++.h>
using namespace std;
int main()
{	
	int i[1005][1005];
	int sum[1005][1005];
	int n;
	cin>>n;
		for(int d=1;d<=n;d++){
			for(int e=1;e<=d;e++) cin>>i[d][e];
		}
	for(int c=n;c>=1;c--) sum[n][c]=i[n][c];
	for(int c=n-1;c>=1;c--){
		for(int e=1;e<=c;e++){
			sum[c][e]=i[c][e]+max(sum[c+1][e],sum[c+1][e+1]);
		}
	}
	cout<<sum[1][1];
	return 0;
}

以上二维数组i和sum的定义放在main函数以内就会出现segmentation fault的错误但是放在main函数之前就可以编译运行喃

1 comments

  • @ 2022-1-2 12:31:11

    请去了解全局变量是放在堆空间的,默认初始化为0,main函数的变量是放在栈空间的,随机赋值

    • 1

    Information

    ID
    87
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    4
    Tags
    # Submissions
    189
    Accepted
    81
    Uploaded By