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

📄 ac1194.pas

📁 某牛人写的acm.tongji.edu.cn上大部分ac的代码,仅供学习研究,请不要用来作弊
💻 PAS
字号:
program tju1194;
const
  maxnum=100;
  maxn=30;
  maxk=300;
var
  id:array[1..maxnum]of byte;
  len:array[1..maxn,1..maxn]of byte;
  start,fin:array[1..maxk]of longint;
  time:array[0..maxn]of word;
  v:array[1..maxn]of boolean;
  n,k,i,x,y,f,r:longint;
function cost(x,y:byte):word;
  var
    i,t:word;
  begin
    fillchar(time,sizeof(time),255);time[x]:=0;
    fillchar(v,sizeof(v),0);v[y]:=true;
    cost:=0;
    repeat
      v[x]:=true;
      for i:=1 to n do
        if len[x,i]>0 then begin
          t:=time[x]+len[x,i];
          if t>cost then cost:=t;
          if t<time[i] then time[i]:=t;
        end;
      x:=0;
      for i:=1 to n do
        if not v[i] and (time[i]<time[x]) then x:=i;
    until x=0;
  end;
begin
  repeat
    fillchar(len,sizeof(len),0);
    read(n);
    for i:=1 to n do begin
      read(x);id[x]:=i;
    end;
    read(k);
    for i:=1 to k do begin
      read(x,y);x:=id[x];y:=id[y];read(len[x,y]);len[y,x]:=len[x,y];
    end;

    read(k);
    for i:=1 to k do begin
      read(x,start[i],x,y);
      fin[i]:=start[i]+cost(id[x],id[y]);
    end;

    read(x);y:=0;
    for i:=1 to k do
      if (x>=start[i]) and (x<fin[i]) then inc(y);
    writeln(y);
  until seekeof;
end.

⌨️ 快捷键说明

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