讨论 / 求教奇怪的电梯
wangcr 2016-11-18 06:17:56
点我顶贴 收藏 删除
为什么只有80分???

源程序:

var n,x,y,i,t:longint;

a,f:array[0..400]of longint;

procedure try(k:longint);

var i:longint;

f1:array[1..200]of boolean;

begin

if k=y then

begin

writeln(t);

halt;

end;

if t>2000 then

begin

writeln('-1');

halt;

end;

fillchar(f1,sizeof(f1),0);

for i:=1 to t do if f[i]=k then begin writeln('-1');halt;end;

inc(t);f[t]:=k;

if k+a[k]<=n then try(k+a[k]);

if k-a[k]>=1 then try(k-a[k]);

end;

begin

readln(n,x,y);

for i:=1 to n do read(a[i]);

t:=0;

try(x);

end.

查看更多回复
提交回复