讨论 / ac注意,此题数据有点怪,害我18次才ac......
lxl 2010-11-11 16:04:00
点我顶贴 收藏 删除
方法:1.:必须用not eof;

2:如果val成数字,不要在打字时搞1的总数;

3:必须有if (ahe=0) or (k>x+y*9)then begin writeln(ahe);end;

4:搜索代码:

procedure search(x,y,he,step:longint);

var

i,j,l,m,x1,y1:longint;

begin

if step<0 then exit;

if (x<=0) or (x>9) or (y<=0) or (y>5) then exit;

if a[x,y]=1 then

begin

a[x,y]:=0;

if he>=ans then ans:=he+1;

search(x+1,y,he+1,step-1);

search(x-1,y,he+1,step-1);

search(x,y-1,he+1,step-1);

a[x,y]:=1;

end

else

begin

search(x+1,y,he,step-1);

search(x-1,y,he,step-1);

search(x,y-1,he,step-1);

end;

end;

#1 L.Lawliet@2010-11-11 16:04:00
回复 删除
为什么必须要用not eof

实际只有一组数据。。

查看更多回复
提交回复