求助大佬,我莫名其妙ce了

P2895 [USACO08FEB] Meteor Shower S

William_qwq @ 2021-10-21 19:33:01

程序如下

#include<bits/stdc++.h>
using namespace std;
int a[1010][1010][1010],vis[1010][1010],s[1010][1010];
struct noid
{
    int x,y,dist;
};

int dx[]={0,0,1,-1};
int dy[]={1,-1,0,0};

bool in(int x,int y)
{
    return x>=0&&y>=0;
}

queue<noid> q;

int bfs()
{
    vis[0][0]=1;
    q.push((noid){0,0,0});
    while(!q.empty())
    {
        int i,j;
        int posx=q.front().x;
        int posy=q.front().y;
        int posd=q.front().dist;
        q.pop();
        if(s[posx][posy]==0)
        {
            return posd;
        }
        for(i=0;i<4;i++)
        {
            int nx=posx+dx[i];
            int ny=posy+dy[i];
            if(!in(nx,ny)||vis[nx][ny]) continue;
            bool flg=1;
            for(j=1;j<=posd+1;j++)
            {
                if(a[j][nx][ny]) flg=0;
            }
            if(flg=1)
            {
                vis[nx][ny]=1;
                q.push((noid){nx,ny,posd+1});
            }
        }
    }
    return -1;
}
int main()
{
    int n,i,j;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        int x,y,t;
        cin>>x>>y>>t;
        a[t][x][y]=1;
        s[x][y]=1;
        for(j=0;j<4;j++)
        {
            if(in(x+dx[i],y+dy[i]))
            {
                a[t][x+dx[i]][y+dy[i]]=1;
                s[x+dx[i]][y+dy[i]]=1;
            }
        }
    }
    bfs();
    return 0;
}

我点提交代码后莫名其妙的出现了: C:\Users\86130\Desktop\c++\collect2.exe [Error] ld returned 1 exit status


by ud2_ @ 2021-10-21 19:35:00

检查一下是否真的需要 4 GB 大的数组。


by black_trees @ 2021-10-21 19:35:37

@辛其易123 a1010*1010*1010 确定不会有事? /qd


by ______zzy @ 2021-10-21 19:35:40

你没关掉之前运行的程序,或者说之前的程序没运行完


by William_qwq @ 2021-10-21 19:44:03

我确定关了其他程序,但她还是ce


by DynamicProb @ 2021-10-29 17:41:49

@辛其易123 你打开任务管理器(ctrl+shift+esc)看看有没有id.exe这个,有的话结束掉


|