RE求调
#include<bits/stdc++.h>
using namespace std;
int n,x1,y3,x2,y2,q[100001][5],dx[]={1,0,-1,0},dy[]={0,1,0,-1};
char c[1001][1001];
inline void bfs()
{
int head=1,tail=1;
while(head<=tail)
{
for(int i=0;i<4;i++)
{
int tx=q[head][1]+dx[i],ty=q[head][2]+dy[i];
if(tx==x2&&ty==y2)
{
cout<<q[head][3]+1<<endl;
exit(0);
}
if(tx>=1&&tx<=n&&ty>=1&&ty<=n&&c[tx][ty]=='0')
{
tail++;
q[tail][1]=tx,q[tail][2]=ty;q[tail][3]=q[head][3]+1;
}
}
head++;
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>c[i][j];
}
}
cin>>x1>>y3>>x2>>y2;
q[1][1]=x1,q[1][2]=y3,q[1][3]=0;
bfs();
return 0;
}