讨论 / 为什么我的bfs不行。。
Nr 2010-03-04 06:48:00
点我顶贴 收藏 删除
是紧急救援那一题

program Suki;

const

dx:array[1..4]of integer=(-1,1,0,0);

dy:array[1..4]of integer=(0,0,-1,1);

var i,n,j,x1,x2,y1,y2:integer;

a:array[1..1000]of ansistring;

function bfs(x,y,n:integer):integer;

var i:integer;

begin

if(x=x2)and(y=y2) then exit(n+1);

for i:=1 to 4 do

if (x+dx[i]>0)and(y+dy[i]>0)and(x+dx[i]<=n)and(y+dy[i]<=n)and(a[x+dx[i]][y+dy[i]]='0') then

begin writeln(x,y); exit(bfs(x+dx[i],y+dy[i],n+1));end;

end;

begin

assign(input,'in.txt');reset(input);

readln(n);

for i:=1 to n do

readln(a[i]);

readln(x1,y1);

readln(x2,y2);

writeln(bfs(x1,y1,0));

end.

查看更多回复
提交回复