比赛 2008haoi模拟训练1 评测结果 AWWTWWWWWW
题目名称 水管局长 最终得分 10
用户昵称 SMXX 运行时间 4.395 s
代码语言 Pascal 内存使用 2.10 MiB
提交时间 2008-04-22 11:20:13
显示代码纯文本
program tube;
var
f1,f2:text;
n,m,p,k,q,i,j,a,b:integer;
t:array[1..1000,1..1000]of integer;
function max(a,b:integer):integer;
begin
if a>b then max:=a
       else max:=b;
       end;

procedure find(x,y:integer);
var
k,i,j:integer;
begin
if p<>0 then begin
for k:= 1to n do
 for i:= 1to n do
  for j:= 1to n do
   if (t[i,k]>0)and(t[k,j]>0) then
       if max(t[i,k],t[k,j])<t[i,j] then t[i,j]:=max(t[i,k],t[k,i]);
       p:=0;end;
writeln(f2,t[x,y]);
end;
begin
assign(f1,'tube.in');
assign(f2,'tube.out');
reset(f1);
rewrite(f2);
p:=0;
readln(f1,n,m,q);
for i:= 1to n do
 for j:= 1to n do t[i,j]:=maxint;
for i:= 1to m do begin read(f1,a,b);readln(f1,t[a,b]);t[b,a]:=t[a,b];end;

for i:= 1to q do begin readln(f1,k,a,b);
               if k=1 then find(a,b);
               if k=2 then begin p:=1; t[a,b]:=maxint; end;end;
               close (f1);
               close(f2);
end.