比赛 |
20121107 |
评测结果 |
AAAAA |
题目名称 |
小树 |
最终得分 |
100 |
用户昵称 |
bw |
运行时间 |
0.008 s |
代码语言 |
Pascal |
内存使用 |
0.15 MiB |
提交时间 |
2012-11-07 11:25:33 |
显示代码纯文本
program ex;
type pt=^dy;
dy=record
link,data,fa:longint;
next:pt;
end;
var a:array[0..1000] of dy;
q:array[1..1000,1..3] of longint;
ans:real;
p:pt;
i,j,k,shou,n,t,x,y,z,head,tail:longint;
function max(x,y:real):real;
begin
if x>y then exit(x); exit(y);
end;
function get(x:longint):longint;
begin
if a[x].fa=x then exit(x);
exit(get(a[x].fa));
end;
procedure lian(x,y,z:longint);
begin
new(p);
p^.link:=y;
p^.data:=z;
p^.next:=a[x].next;
a[y].fa:=x;
a[x].next:=p;
end;
procedure sou;
begin
while head<=tail do
begin
p:=a[q[head,1]].next;
while p<>nil do
begin
inc(tail);
q[tail,1]:=p^.link;
q[tail,2]:=q[head,2]+1;
q[tail,3]:=q[head,3]+p^.data;
p:=p^.next;
end;
inc(head);
end;
end;
begin
assign(input,'treec.in');
assign(output,'treec.out');
reset(input);
rewrite(output);
read(t);
for i:=1 to t do
begin
ans:=-maxlongint;;
read(n);
if n=1then begin writeln('0.00'); continue; end;
for j:=0 to n-1 do
begin
a[j].fa:=j;
a[j].next:=nil;
end;
for j:=1 to n-1 do
begin
read(x,y,z);
lian(x,y,z);
end;
shou:=get(1);
fillchar(q,sizeof(q),0);
q[1,1]:=shou;
q[1,2]:=0;
head:=1; tail:=1;
sou;
for j:=2 to tail do
ans:=max(ans,q[j,3]/q[j,2]);
writeln(ans:0:2);
end;
close(input); close(output);
end.