记录编号 179912 评测结果 AAAAAAAAAA
题目名称 找最佳通路 最终得分 100
用户昵称 Gravatar翟佳麒 是否通过 通过
代码语言 Pascal 运行时间 0.007 s
提交时间 2015-08-17 16:32:12 内存使用 0.17 MiB
显示代码纯文本
type
  node=record
         city:integer;
         pre:integer;
       end;
var
  n,m,s,e,c,d,i,ans:longint;
  map:array[1..50,1..50] of integer;
  a:array[1..100] of node;
  p:set of 1..50;

procedure out(d:integer);
begin
  //write(a[d].city);
  repeat
    inc(ans);
    d:=a[d].pre;
    //write('--',a[d].city);
  until a[d].pre=0;
end;

procedure bfs;
var
  head,tail:integer;
begin
  head:=0; tail:=1;
  a[1].city:=s;
  a[1].pre:=0;
  p:=[s];
  repeat
    inc(head);
    for i:=1 to n do
     if (map[a[head].city,i]=0) and (not(i in p)) then
     begin
       inc(tail);
       a[tail].city:=i;
       a[tail].pre:=head;
       p:=p+[a[tail].city];
       if a[tail].city=e then begin out(tail); exit end;
     end;
  until head=tail;
end;

begin
assign(input,'city.in');
reset(input);
assign(output,'city.out');
rewrite(output);
fillchar(map,sizeof(map),1); p:=[];
  readln(n,m,s,e);
  for i:=1 to m do
   begin
     readln(c,d);
     map[c,d]:=0;
     map[c,d]:=0;
   end;
   bfs;
   writeln(ans+1);
close(input);
close(output);
end.