记录编号 205552 评测结果 AWWWWWWWWW
题目名称 不平凡的引线 最终得分 10
用户昵称 Gravatarfyb 是否通过 未通过
代码语言 C++ 运行时间 0.554 s
提交时间 2015-11-05 16:00:51 内存使用 1.45 MiB
显示代码纯文本
#include <cstdio>
#include <vector>

using namespace std;

#define NMAX 100000
#define INF 100000

struct edge{
	int u,v,l;
};

vector<edge> g[NMAX+1];

double dfs(int ind,int pa,int t){
	double tmp,mx=0;
	int i;

//	printf("%d\n",ind);
	if(g[ind].size()==1&&pa)return t/2.0;
	for(i=0;i<g[ind].size();i++)
		if(g[ind][i].v!=pa){
			tmp=dfs(g[ind][i].v,ind,t+g[ind][i].l);
			if(tmp>mx)mx=tmp;
		}
	return mx;
}

int main(){
	int m;
	int tu,tv,tl;
	int mil,mili;
	int i;

	freopen("firelead.in","r",stdin);
	freopen("firelead.out","w",stdout);

	scanf("%d",&m);
	for(i=0;i<m;i++){
		scanf("%d%d%d",&tu,&tv,&tl);
		g[tu].push_back((edge){tu,tv,tl});
		g[tv].push_back((edge){tv,tu,tl});
	}

	mil=INF;
	for(i=1;i<=m+1;i++)
		if(g[i].size()==1&&g[i][0].l<mil){
			mil=g[i][0].l;
			mili=i;
		}
	printf("%.1lf",dfs(mili,0,0));
	return 0;
}