看看我的程序吧:
program migong(input,output);
var
x,y,i,j,k,t:integer;
l,w:array[1..4] of integer;
a:array[0..51,0..51]of 0..1;
s:array[1..50*50]of 1..4;
begin
read(x,y);
for i:=0 to (x+1) do
for j:=0 to(y+1) do
read(a[i,j]);
for i:=1 to x do
begin
for j:=1 to y do
write(a[i,j]);
writeln;
end;
i:=1;j:=1;k:=1;t:=1;
l[1]:=1; w[1]:=0;
l[2]:=0; w[2]:=1;
l[3]:=-1; w[3]:=0;
l[4]:=0; w[4]:=-1;
repeat
if(a[i+l[k],j+w[k]]=0) then begin
s[t]:=k;t:=t+1;
i:=i+l[k];
j:=j+w[k];
k:=k-1;
if k=0 then k:=4;
end
else begin
k:=k+1;
if k=5 then k:=1;
if(k=s[t-1]-2)and(k=s[t-1]+2)
then begin
t:=t-1;
k:=s[t]-1;
end
end
until(i=x)and(j=y);
writeln('the path out of migong is');
for i:=1to t-1 do
begin
write(s
:2);
if i=8 then writeln
end.

