记录编号 49258 评测结果 AAAAA
题目名称 小树 最终得分 100
用户昵称 GravatarTruth.Cirno 是否通过 通过
代码语言 C++ 运行时间 0.178 s
提交时间 2012-11-07 15:43:51 内存使用 8.11 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <memory.h>
using namespace std;

int n,sonnum[1010],son[1010][1010],soncost[1010][1010],deep[1010],dis[1010];
double maxnum;

void fillit(int pos,int deepnow,int disnow)
{
	int i;
	for (i=0;i<sonnum[pos];i++)
		fillit(son[pos][i],deepnow+1,disnow+soncost[pos][i]);
	if (deepnow)
		maxnum=max(maxnum,(disnow*1.0)/deepnow);
}

int main(void)
{
	freopen("treec.in","r",stdin);
	freopen("treec.out","w",stdout);
	int times,i,T,from,to,cost;
	cin>>T;
	for (times=1;times<=T;times++)
	{
		memset(sonnum,0,sizeof(sonnum));
		memset(son,0,sizeof(son));
		memset(soncost,0,sizeof(soncost));
		memset(deep,0,sizeof(deep));
		memset(dis,0,sizeof(dis));
		cin>>n;
		for (i=1;i<n;i++)
		{
			cin>>from>>to>>cost;
			son[from][sonnum[from]]=to;
			soncost[from][sonnum[from]++]=cost;
		}
		maxnum=0;
		fillit(0,0,0);
		printf("%.3lf\n",maxnum);
	}
	return(0);
}