记录编号 899 评测结果 AAAAAAAAAA
题目名称 找最佳通路 最终得分 100
用户昵称 GravatarHamster 是否通过 通过
代码语言 Pascal 运行时间 10.000 s
提交时间 2008-07-23 11:20:27 内存使用 0.00 MiB
显示代码纯文本
program city;
var
  path:array[1..1000,1..1000] of integer;
  n,m,s,e,t,i,s1,s2,x,y:integer;
  fin,fout:text;

procedure init;
var
  j:integer;
begin
  readln(fin,n,m,s,e);
  for i:=1 to m do
    for j:=1 to m do path[i,j]:=0;
  for i:=1 to m do
  begin
    readln(fin,x,y);
    path[x,y]:=1;
  end;
  t:=0;
  s1:=0;
  s2:=0;
end;

procedure search(p:integer);
var
  k:integer;
begin
  k:=0;
  repeat
    inc(k);
    if path[p,k]=1 then
    begin
      inc(s1);
      path[p,k]:=0;
      if k=e then
      begin
        inc(t);
        if t=1 then s2:=s1
        else if s1<s2 then s2:=s1;
      end
      else search(k);
      dec(s1);
      path[p,k]:=1;
    end;
  until k=n;
end;

begin
  assign(fin,'city.in');
  reset(fin);
  assign(fout,'city.out');
  rewrite(fout);

  init;
  search(s);
  writeln(fout,s2+1);

  close(fin);
  close(fout);
end.