⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ac1096.pas

📁 uralcode
💻 PAS
字号:
program ural1096;
const
  maxk=1000;
  inf=65535;
var
  plate:array[1..maxk,1..2]of word;
  dist,path:array[1..maxk]of word;
  k,r,a,b,i,t:word;
  fail:boolean;
procedure succeed;
  begin
    a:=plate[i,1];
    writeln(dist[a]);
    repeat
      writeln(path[a]);
      a:=plate[path[a],2];
    until a=r;
    halt;
  end;
begin
  fillchar(dist,sizeof(dist),255);
  readln(k);
  for i:=1 to k do
    readln(plate[i,1],plate[i,2]);
  readln(r,a,b);

  dist[r]:=0;
  repeat
    fail:=true;
    for i:=1 to k do
      if (dist[plate[i,2]]<inf) and (dist[plate[i,1]]=inf) then begin
        dist[plate[i,1]]:=dist[plate[i,2]]+1;
        path[plate[i,1]]:=i;
        if (plate[i,1]=a) or (plate[i,1]=b) then succeed;
        fail:=false;
      end;
  until fail;
  writeln('IMPOSSIBLE');
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -