比赛 |
20121107 |
评测结果 |
PWPPP |
题目名称 |
小树 |
最终得分 |
15 |
用户昵称 |
DMC_DY |
运行时间 |
0.007 s |
代码语言 |
Pascal |
内存使用 |
0.21 MiB |
提交时间 |
2012-11-07 10:43:12 |
显示代码纯文本
var t,n,i,j,k,o,pt,l:longint; a,b,q:array[0..1000]of longint; p,pre,c:array[0..2000]of longint;
f,g:array[0..1000]of real; ans:real;
procedure sou(x:longint);
var i,j:longint; u,v:real;
begin
i:=a[x]; if i=0 then begin f[x]:=b[x]; g[x]:=q[x]; end;
while i<>0 do
begin
j:=p[i]; b[p[i]]:=b[x]+c[i]; q[p[i]]:=q[x]+1;
sou(j);
u:=b[j]; v:=q[j];
if(g[x]=0)or(u/v>f[x]/g[x])then
begin f[x]:=f[x]+u; g[x]:=g[x]+v; end;
i:=pre[i];
end;
end;
begin
assign(input,'treec.in'); assign(output,'treec.out'); reset(input); rewrite(output);
readln(t);
for o:=1 to t do begin
readln(n); fillchar(p,sizeof(p),0); pt:=0; fillchar(pre,sizeof(pre),0); fillchar(a,sizeof(a),0);
for i:=1 to n-1 do
begin
readln(j,k,l); inc(pt); p[pt]:=k; pre[pt]:=a[j]; a[j]:=pt; c[pt]:=l;
end;
sou(0); i:=a[0];
while i<>0 do
begin
if f[p[i]]/g[p[i]]>ans then ans:=f[p[i]]/g[p[i]];
i:=pre[i];
end;
writeln(ans:0:2);
end;
close(input); close(output);
end.