为什么程序一开始直接给我结束力(恼)

P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

Lqz114514 @ 2022-05-29 19:27:17

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int dp[1005][1005],r,num[1005][1005];
    cin>>r;
    for(int i=1;i<=r;i++)
    {
        for(int j=1;j<=i;j++)
        {
            cin>>num[i][j];
            dp[i][j]=num[i][j];
        }
    }
    for(int i=r-1;i>=1;i--)
    {
        for(int j=1;j<=i;j++)
        {
            dp[i][j]+=max(dp[i+1][j],dp[i+1][j+1]); 
        }
    }
    cout<<dp[1][1];
 } 

by 柳下惠 @ 2022-05-29 19:34:32

@Lqz114514 数组开外面


by Lqz114514 @ 2022-05-29 19:39:18

@柳下惠 真的可以了...... 不过为什么呢(疑惑)


by 柳下惠 @ 2022-05-29 19:43:59

@Lqz114514 溢出了,数组最好开全局


by 8atemak1r @ 2022-05-29 19:44:57

@Lqz114514 我 VScode 正常的啊


by 红黑树 @ 2022-05-29 19:48:52

要开栈空间


by YDMaYi @ 2022-05-29 19:49:18

定义在main里面是没有初始化的,所以要定义在main外面(前提是你写了using namespace std


by 红黑树 @ 2022-05-29 19:49:24

主函数里是用的栈空间,系统分配给程序的空间没那么大


by 红黑树 @ 2022-05-29 19:50:15

编译指令加入 -Wl,--stack=0x1000000


|