0分RE求调
查看原帖
0分RE求调
1101352
kungeruyi楼主2024/12/15 10:01

也不知道在回事,样例过了,但交上去0分RE

代码如下:

#include<bits/stdc++.h>
using namespace std;
const int N=1e3+100;
#define size N*N
char a[N][N];
struct node{
	int x,y,step;
}q[size];
int f[N][N];
int n,sx,sy,fx,fy; 
int dx[4]={0,-1,0,1};
int dy[4]={1,0,-1,0};
int head,tail;
int bfs(){
	head=0,tail=1;
	q[tail].x=sx;
	q[tail].y=sy;
	q[tail].step=0;
	while(head<tail){
		head++;
		int x=q[head].x;
		int y=q[head].y;
		int step=q[head].step;
		if(x==fx && y==fy){
			return step;
		}
		for(int i=0;i<=3;i++){
			int nx=x+dx[i];
			int ny=y+dy[i];
			if(!f[nx][ny] && nx>0 && ny>0 && nx<=n && ny<=n){
				tail++;
				q[tail].x=nx;
				q[tail].y=ny;
				q[tail].step=step+1;
			}
		}
	}
	return 0;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		for(int j=1;j<=n;j++){
			if(a[i][j]=='1'){
				f[i][j]=1;
			}
		}
	}
	cin>>sx>>sy>>fx>>fy;
	cout<<bfs();
	return 0;
}

测试点显示:内存引用无效的分段故障。

测试点:

2024/12/15 10:01
加载中...