我,年幼的人赢,总是和我的同桌一起在滑稽树下讨论问题。
我的滑稽树是一棵长在平面上的,有
现在我都和我的同桌一起在滑稽树上每人各控制一个点。我的点最开始在
现在,我想要最小化任意时刻我们两个所控制的点之间距离的最大值。请问你能帮我解决这个问题吗?注意某个时刻两个点可能都在某一条边上,这时候的距离也要统计入答案。
一句话题意:给定一棵平面上的树,两个点在树上任意移动,最小化从开始到两个点都到达叶子的任意时刻两个点直线距离的最大值。
输入格式
第一行三个正整数
接下来
接下来
输出格式
输出一行,包含一个实数,表示最小的任意时刻我们两个所控制的点之间距离的最大值。
你的答案与参考答案的绝对误差或相对误差不超过
样例一
input
4 2 3 0 1 1 1 1 0 0 0 1 2 2 3 3 4
output
1.0000000000
样例二
input
4 2 4 0 0 51 49 100 100 100 0 1 2 2 3 3 4
output
69.2964645563
限制与约定
对于全部数据,
子任务 | 分值 | 特殊性质 | |
---|---|---|---|
1 | 5 | ||
2 | 25 | 无 | |
3 | 25 | 无 | |
4 | 15 | 保证存在最优方案,在任意时刻至少有一端点位于树的某结点上 | |
5 | 30 | 无 |
时间限制:
空间限制: