记录编号 |
14220 |
评测结果 |
AAAAA |
题目名称 |
[NOI 1998]SERNET模拟 |
最终得分 |
100 |
用户昵称 |
.Xmz |
是否通过 |
通过 |
代码语言 |
Pascal |
运行时间 |
0.011 s |
提交时间 |
2009-10-28 08:51:35 |
内存使用 |
0.24 MiB |
显示代码纯文本
- program xmz;
- var
- f1,f2:text;
- d,f:array[1..100,1..100]of longint;
- y:array[1..100,1..100]of boolean;
- long,bh:array[1..100]of longint;
- ml:array[1..10000]of longint;
- a,b,q,z,t1,t2,t3,n,bn,time,s:longint;
- procedure djs;
- var
- i,k,min:longint;
- begin
- fillchar(y[q],sizeof(y[q]),false);
- for i:=1 to n do d[q,i]:=99999999;
- k:=q;d[q,k]:=time;
- repeat
- y[q,k]:=true;
- if k<>z then
- for i:=1 to n do
- if (f[k,i]<>0)and(f[k,i]+d[q,k]<d[q,i])and(not y[q,i]) then
- d[q,i]:=f[k,i]+d[q,k];
- min:=99999999;
- for i:=1 to n do
- if (d[q,i]<min)and(not y[q,i]) then begin min:=d[q,i];k:=i;end;
- until min=99999999;
- end;
- begin
- assign(f1,'sernet.in');assign(f2,'sernet.out');
- reset(f1);rewrite(f2);
- read(f1,n);
- for a:=1 to n do
- begin read(f1,t1);bh[t1]:=a;end;
- read(f1,bn);
- for a:=1 to bn do
- begin
- read(f1,t1,t2,t3);
- t1:=bh[t1];
- t2:=bh[t2];
- f[t1,t2]:=t3;
- f[t2,t1]:=t3;
- end;
- read(f1,bn);
-
- for a:=1 to n do
- for b:=1 to n do
- if (f[a,b]<>0)and(f[a,b]>long[a])then long[a]:=f[a,b];
-
- for a:=1 to bn do
- begin
- read(f1,t1);
- read(f1,time,q,z);
- q:=bh[q];z:=bh[z];
- djs;
- for b:=1 to n do
- if (b<>z)and(d[q,b]<>99999999) then inc(d[q,b],long[b]);
- for b:=1 to n do
- if (d[q,b]>ml[a])and(d[q,b]<99999999) then ml[a]:=d[q,b];
- end;
- read(f1,t1);
- for a:=1 to bn do
- if ml[a]>t1 then inc(s);
- writeln(f2,s);
- close(f1);close(f2);
- end.