比赛 |
20121107 |
评测结果 |
C |
题目名称 |
小树 |
最终得分 |
0 |
用户昵称 |
乔治文 |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2012-11-07 11:48:52 |
显示代码纯文本
var
i,j,k,n,w,t,flag,x,y,p,l:longint;
a,mark,pp:array[0..1000] of longint;
f:array[0..10000,0...1000] of longint;
s:real;
function getw(p:longint):longint;
var
ans:longint;
begin
ans:=0;
inc(mark[p]);
if a[p]<>-1 then
ans:=getw(a[p])+f[a[p],p];
exit(ans);
end;
procedure search(p:longint);
var
i:longint;
begin
pp[p]:=1;
if p=n then
begin
w:=0;
d:=0;
flag:=0;
for i:=1 to n-1 do
if pp[i]=1 then
begin
w:=w+getw(i);
end;
for j:=1 to n-1 do
if mark[j]>1 then
flag:=1
else
d:=d+1;
if flag<>1 then
begin
if d<>0 then
then begin
if s<(w/d) then
s:=(w/d);
end;
end;
end
else
begin
search(p+1);
pp[p]:=0;
search(p+1);
end;
end;
procedure doit();
begin
read(n);
for i:=1 to n-1 do
begin
read(x,y,p);
a[y]:=x;
f[x,y]:=p;
end;
s:=0;
fillchar(mark,sizof(mark),0);
a[0]:=-1;
if n<>1 then
begin
search(1);
writeln(s:0:2);
end
else
writeln(s:0:2);
end;
begin
assign(input,'treec.in');
reset(input);
assign(output,'treec.out');
rewrite(output);
read(p);
for l:=1 to p do
doit();
close(input);
close(output);
end.