讨论 / HELP!!!
zhongjiaxin 2010-09-25 06:12:00
点我顶贴 收藏 删除
const

way:array[1..4,1..2] of longint=((-1,0),(1,0),(0,-1),(0,1));

var

i,j,k,x,y,docx,docy,insx,insy,n,m,s,t,nowx,nowy,top,tail:longint;

a:array[0..1001,0..1001] of longint;

v:array[0..1001,0..1001] of boolean;

queue:array[0..1000001,1..2] of longint;

ch:char;

f:boolean;

begin

fillchar(a,sizeof(a),0);

fillchar(v,sizeof(v),true);

readln(n);

for i:=1 to n do

begin

for j:=1 to n do

begin

read(ch);

if ch='1' then v[i,j]:=false;

end;

readln;

end;

readln(docx,docy);

readln(insx,insy);

top:=0; tail:=1;

v[insx,insy]:=false;

queue[1,1]:=insx; queue[1,2]:=insy;

f:=false;

repeat

inc(top);

nowx:=queue[top,1]; nowy:=queue[top,2];

for i:=1 to 4 do

begin

x:=nowx+way[i,1]; y:=nowy+way[i,2];

if (x in [1..n])and(y in [1..n])and v[x,y] then

begin

inc(tail);

queue[tail,1]:=x; queue[tail,2]:=y;

a[x,y]:=a[nowx,nowy]+1;

v[x,y]:=false;

end;

if (x=docx)and(y=docy) then

begin

writeln(a[x,y]);

f:=true; break;

end;

end;

until f;

end.

过了2个点 其余的点 普通保护错误

#1 zhongjiaxin@2010-08-27 01:26:00
回复 删除
Help Help

#2 123qaz@2010-08-27 03:23:00
回复 删除
这是哪题?
#3 123qaz@2010-08-27 03:25:00
回复 删除
我不知道!还是水平太差!o(︶︿︶)o 唉
#4 zhongjiaxin@2010-08-29 06:56:00
回复 删除
,,问题编号34 紧急援救

我还以为能看到是几题呢

#5 zhongjiaxin@2010-08-30 06:40:00
回复 删除
lairen
#6 zhongjiaxin@2010-09-09 06:21:00
回复 删除
..........
#7 zhongjiaxin@2010-09-12 04:58:00
回复 删除
............
#8 zhongjiaxin@2010-09-16 04:48:00
回复 删除
000000000000000
#9 zhongjiaxin@2010-09-20 04:23:00
回复 删除
......

#10 zhongjiaxin@2010-09-25 06:12:00
回复 删除
.....
查看更多回复
提交回复