记录编号 |
49150 |
评测结果 |
AAAAA |
题目名称 |
小树 |
最终得分 |
100 |
用户昵称 |
TBK |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.006 s |
提交时间 |
2012-11-07 13:23:57 |
内存使用 |
3.16 MiB |
显示代码纯文本
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <set>
#include <queue>
#include <vector>
#include <algorithm>
#define MAXN 0x7fffffff
using namespace std;
int a[1000][2],b,c,d,l,m,n,r[1000][2],y,z;
double x,s;
int main(void)
{
freopen("treec.in","r",stdin);
freopen("treec.out","w",stdout);
scanf("%d",&b);
for (c=0;c<b;c++)
{
s=0;
memset(a,0,sizeof(a));
memset(r,0,sizeof(r));
scanf("%d",&d);
if (d==1)
{
printf("0.00\n");
continue;
}
for (l=0;l<d-1;l++)
{
scanf("%d%d%d",&m,&n,&z);
a[n][0]=m;
a[n][1]=z;
}
for (l=1;l<d;l++)
{
y=l;
while (y!=0)
{
r[l][0]+=a[y][1];
r[l][1]++;
y=a[y][0];
}
}
for (l=1;l<d;l++)
{
if (r[l][1]!=0) x=(double)((double)r[l][0]/(double)r[l][1]);
else x=0;
s=s>x?s:x;
}
printf("%.4lf\n",s);
}
fclose(stdin);
fclose(stdout);
return 0;
}