#P17570. PM5877 膨胀圆逃生
PM5877 膨胀圆逃生
题目描述
给定一个二维矩形区域,左下角为 ,右上角为 。
你从点 出发,目标是到达矩形的任意一条边。你可以看成平面上的一个质点,并能以每单位时间 单位距离的速度向任意方向移动。
区域中还有 个危险点。每个危险点从时刻 开始以同样的速度向所有方向扩张:经过 单位时间后,它形成一个半径为 的圆。第 个圆心为 。
移动过程中不能进入任何正在扩张的圆的内部,但允许恰好位于圆周上。求到达矩形边界所需的最短时间;如果无论如何都无法逃出,输出 。
输入格式
第一行输入五个数 ,其中 为危险点数量。
接下来 行,第 行输入两个整数 ,表示第 个危险点的坐标。
输出格式
输出最短逃生时间。如果无法到达任何边界,输出 -1。
答案的绝对误差或相对误差不超过 。
样例 1
输入
3 10 10 5 5
1 5
5 1
5 9
输出
5.0
解释
可以从 沿直线到达 。
样例 2
输入
4 101 10 5 5
1 5
5 1
5 9
9 5
输出
-1.0
样例 3
输入
5 4 3 0 2
0 1
0 3
1 1
1 2
1 3
输出
0.0
解释
起点已经位于矩形边界上。
样例 4
输入
3 5 6 4 2
0 6
4 0
5 2
输出
4.0
数据范围
- ;
- ,;
- ;
- ,;
- 所有危险点坐标两两不同,且均与起点不同;
- 若某个边界点可以作为逃生点,则保证存在一个长度至少为 的边界区间,其中每个点都可以作为逃生点。