比赛 暑假培训五 评测结果 AAAAAAAAAA
题目名称 找最佳通路 最终得分 100
用户昵称 苏轼 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-07-22 11:03:55
显示代码纯文本
program cch(input,output,f1,f2);
var
 f1,f2:text;
 head,tail,i,m,s,e,j,x,y,n:integer;
 a:array[1..50,1..50] of boolean;
 b,c:array[0..10000] of integer;

function  check(x:integer):boolean;
var
 i:integer;
begin
 check:=false;
 for i:=1 to tail do
  if b[i]=x then exit;
 check:=true;
end;

begin
 assign(f1,'city.in');
 assign(f2,'city.out');
 reset(f1);
 rewrite(f2);
 readln(f1,n,m,s,e);
 for i:=1 to n do
  for j:=1 to n do a[i,j]:=false;
 for i:=1 to m do  begin
  readln(f1,x,y);
  a[x,y]:=true;
 end;
 head:=1; tail:=1;
 b[tail]:=s; c[tail]:=1;
 repeat
  for i:=1 to n do
   if i<>b[head] then
    if a[head,i] then
      if check(i) then begin
        inc(tail);
        b[tail]:=i; c[tail]:=c[head]+1;
       if i=e then begin
        writeln(f2,c[tail]);
        close(f1); close(f2);
        halt;
       end;
      end;
  inc(head);
 until head>tail;
 close(f1);
 close(f2);
end.