ac1256.pas
来自「这是在网络上搜集到的在东京大学的ACM上面解决的一些题目的源码」· PAS 代码 · 共 28 行
PAS
28 行
program tju1256;
const
maxn=200;
var
k,q,step:array[1..maxn]of byte;
n,b,i,f,r:longint;
begin
repeat
read(n,q[1],b);
for i:=1 to n do read(k[i]);
fillchar(step,sizeof(step),255);step[q[1]]:=0;
f:=0;r:=1;
repeat
inc(f);
i:=q[f]+k[q[f]];
if (i<=n) and (step[i]=255) then begin
step[i]:=step[q[f]]+1;if i=b then break;inc(r);q[r]:=i;
end;
i:=q[f]-k[q[f]];
if (i>0) and (step[i]=255) then begin
step[i]:=step[q[f]]+1;if i=b then break;inc(r);q[r]:=i;
end;
until f=r;
if step[b]<255 then writeln(step[b]) else writeln(-1);
until seekeof;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?