讨论 / BFS?
Jollwish 2009-01-12 22:29:00
点我顶贴 收藏 删除
都说BFS能过,我写的这个怎么不行?

望大牛瞧瞧

type h=record

x,y:integer;

end;

var a,b:array[1..10000]of h;

k,l,c,d,n,m,i,j,s:integer;

begin

readln(k,l,c,d);

n:=1;

s:=0;

a[1].x:=k;

a[1].y:=l;

repeat

for i:=1 to n do

if (a[i].x=c)and(a[i].y=d) then

begin

writeln(s);

exit;

end;

m:=0;

for i:=1 to n do

begin

inc(m);

b[m].x:=a[i].x+1;

inc(m);

b[m].x:=a[i].x+1;

b[m].y:=a[i].y+1;

inc(m);

b[m].x:=a[i].x+1;

b[m].y:=a[i].y+2;

if (a[i].x>=2)and(a[i].y>=2) then

begin

inc(m);

b[m].x:=a[i].x-2;

b[m].y:=a[i].y-2;

end;

if a[i].y>=1 then

begin

inc(m);

b[m].x:=a[i].x+1;

b[m].y:=a[i].y-1;

end;

end;

n:=m;

for i:=1 to n do a[i]:=b[i];

inc(s);

until 1=0;

end.

测试结果1: 通过本测试点|有效耗时172:ms

测试结果2: 测试结果错误.错误结果为:7

正确结果应为:65

测试结果3: 测试结果错误.错误结果为:7

正确结果应为:60

测试结果4: 测试结果错误.错误结果为:7

正确结果应为:50

测试结果5: 测试结果错误.错误结果为:7

正确结果应为:87

测试结果6: 测试结果错误.错误结果为:7

正确结果应为:101

测试结果7: 测试结果错误.错误结果为:7

正确结果应为:222

测试结果8: 测试结果错误.错误结果为:7

正确结果应为:350

测试结果9: 测试结果错误.错误结果为:7

正确结果应为:127

测试结果10: 测试结果错误.错误结果为:7

正确结果应为:199

#1 OI帝国@2009-01-12 22:29:00
回复 删除
一样的问题
查看更多回复
提交回复