bx,by,bz:array[1..4000000]of longint;
f:array[1..2000,1..2000]of boolean;
yjx,yjy,bsx,bsy,i,j,k,l,m,n:longint;
procedure cheak(x,y,z:longint);
begin
if (x=bsx)and(y=bsy)then
begin
writeln(z);
halt;
end;
if (c[x,y]=’0’)and(f[x,y]=false) then
begin
inc(k);
bx[k]:=x;by[k]:=y;bz[k]:=z+1;f[x,y]:=true;
end;
end;
procedure search(i:integer);
var x,y,z:longint;
begin
x:=bx[i];y:=by[i];z:=bz[i];
if x+1<=n then cheak(x+1,y,z);
if y-1>0 then cheak(x,y-1,z);
if x-1>0 then cheak(x-1,y,z);
if y+1<=n then cheak(x,y+1,z);
if i+1>k then begin writeln(0);halt;end;
search(i+1);
end;
begin
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
read(C[i,j]);
readln;
end;
readln(yjx,yjy);
readln(bsx,bsy);
bx[1]:=yjx;by[1]:=yjy;bz[1]:=1;k:=1;f[yjx,yjy]:=true;
search(1);
end.
后面8个都溢出...什么东西