记录编号 20601 评测结果 AAAAAAAAAA
题目名称 找最佳通路 最终得分 100
用户昵称 Gravatar苏轼 是否通过 通过
代码语言 Pascal 运行时间 0.005 s
提交时间 2010-10-27 13:00:07 内存使用 0.50 MiB
显示代码纯文本
program city;

type
  re=record
    dt,deep:integer;
  end;

var
  i,j,n,m,s,e,t1,t2,len,deep:integer;
  b:array[1..100,1..100]of boolean;
  lhc:array[1..100000]of re;

begin
  assign(input,'city.in');
  reset(input);

  readln(n,m,s,e);

  for i:=1 to m do
  begin
    readln(t1,t2);

    b[t1,t2]:=true;
  end;

  close(input);

  len:=1;
  lhc[1].dt:=s;
  lhc[1].deep:=1;

  assign(output,'city.out');
  rewrite(output);

  i:=1;
  repeat
    inc(deep);

    while lhc[i].deep=deep do
    begin
      if lhc[i].dt=e then
      begin
        writeln(deep);
        deep:=0;
        break;
      end;

      for j:=1 to n do
        if b[lhc[i].dt,j] then
        begin
          inc(len);
          lhc[len].dt:=j;
          lhc[len].deep:=deep+1;
        end;

      inc(i);
    end;
  until deep=0;

  close(output);
end.