题单练习 树及树的应用

A70778 | 树的重心

来源编程题
时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

给定一颗树,树中有 n 个结点(编号 1 \sim n )。 请你找到树的重心,并输出树的重心的结点编号。

重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中结点数的最大值最小,那么这个结点被称为树的重心。

如下图所示的树的重心为 1 号结点。

输入格式

1 行读入一个整数 n,代表树的结点的数量( 1≤n≤10^5 );

接下来 n-1 行,每行读入两个整数 xy ,表示结点 xy 之间有一条边(注意:不确定 xy 的父子关系)。

输出格式

请输出树的重心的结点编号,如果树有多个重心,请按照编号从小到大依次输出,数字之间用空格隔开。

输入输出样例

输入 #1
9
1 2
1 7
2 8
2 5
4 3
1 4
3 9
4 6
输出 #1
1
C++ 编辑器
输入
输出