#S0007. 树上两点覆盖(tree)
树上两点覆盖(tree)
题目描述
给定一棵包含 个点的无权树,点的编号为 到 。树上两点的距离定义为它们之间唯一简单路径上的边数。
选择两个不同的点作为关键点。对于每个点 ,令 为它到两个关键点的距离中的较小值。求所有选法中 的最小值。
输入格式
从文件 tree.in 中读取数据。
第一行包含一个整数 。
接下来 行,每行包含两个整数 (),表示点 与点 之间有一条无向边。保证这些边构成一棵树。
输出格式
将结果输出到文件 tree.out 中。
输出一个整数,表示最小的最大距离。
样例
5
1 2
2 3
3 4
4 5
1
8
1 2
1 3
2 4
2 5
3 6
3 7
1 8
2
数据规模与约定
对于前 的数据, 。
对于前 的数据, 。
另有 的数据,保证树的形态随机,。
对于 的数据, 保证 。