求助大佬,我莫名其妙ce了
查看原帖
求助大佬,我莫名其妙ce了
542974
William_qwq楼主2021/10/21 19:33

程序如下

#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

2021/10/21 19:33
加载中...