| 比赛 | 暑假培训五 | 评测结果 | AAAAAAAAAA | 
    | 题目名称 | 找最佳通路 | 最终得分 | 100 | 
    | 用户昵称 | 苏轼 | 运行时间 | 0.000 s | 
    | 代码语言 | Pascal | 内存使用 | 0.00 MiB | 
    | 提交时间 | 2008-07-22 10:39:38 | 
显示代码纯文本
program citys;
var road:array[1..50,1..50]of boolean;
    city:array[1..50]of boolean;
    a,b,n,m,s,e,i,min:integer;
    f:text;
procedure search(a,far:integer);
 var i,j:integer;
 begin
  if (a=e)and(far<min) then
   min:=far;
  for i:=1 to n do
   if (road[a,i])and(not(city[i])) then
   begin
    city[i]:=true;
    search(i,far+1);
    city[i]:=false;
   end;
 end;
begin
 assign(f,'city.in');
 reset(f);
 readln(f,n,m,s,e);
 min:=maxint;
 for i:=1 to m do
 begin
  readln(f,a,b);
  road[a,b]:=true;
 end;
 close(f);
 search(s,1);
 assign(f,'city.out');
 rewrite(f);
 writeln(f,min);
 close(f);
end.