/ Vijos / 题库 /

树的中心

树的中心

时间限制:1秒  内存限制:256M


【题目描述】

  树的中心的定义:树的中心点是离它最远的结点的距离最近。具体地说,若某结点 \(i\) 是树的中心,那么 \(i\) 到树的最远的点的距离是最短的。比如说下面这棵边权为 1 的树中:
     1----2----5----6
     |  |
     3  4

  ◆距离结点 1 最远的点是 6,距离为 3;
  ◆距离结点 2 最远的点是 6 或 3,距离为 2;
  ◆距离结点 3 最远的点是6,距离为 4;
  ◆距离结点 4 最远的点是3或6,距离为 3;
  ◆距离结点 5 最远的点是3,距离为 3;
  ◆距离结点 6 最远的点是3,距离为 4;

  由上面可以看出,每个结点都有一个距离最远的点的距离,其中距离2是最短的距离是2,所以点 2 就是树的中心。
  用数学语言描述树的中心如下:
  ●设 \(d(a,b)=\)树中两点之间的距离;
  ●设 \(maxd(i)=MAX{d(i,j) | 1<=j<=N }\)
  ●那么树的中心结点为:\(MIN{maxd(i) | 1<=i<=N }\)

  一棵树有一个中心或两个,若有两个中心,则他们必定是相邻的。比如下面这棵树,其中心有1和2两个。
     1----2----5
     |  |
     3  4

  现在你的任务是,给出一棵树,请找该树的中心,若有两个,请由小到大输出。

【输入格式】

  第一行一个整数 \(N\),表示树的结点个数。
  接下来 \(N-1\) 行,每行三个数 \(i,j,k\)。表示 \(i\) 和 \(j\) 有边相连,边的权值为 \(k\)。

【输出格式】

  顺序输出这棵树的中心。

【输入输出样例1】

 Input

6
1 2 1
2 5 1
5 6 1
2 4 1
1 3 1

 Output

2

【输入输出样例2】

 Input

5
1 2 1
2 5 1
2 4 1
1 3 1

 Output

1 2

【数据限制】

  对于 \(100\%\) 的数据,\(1≤M≤100000\),\(1≤k≤100\)

【来源】

  Mr.he

信息

ID
2105
难度
(无)
分类
树结构 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
2
上传者