#NC2502G. 几何,朋友
几何,朋友
题目描述
一个凸多边形懒洋洋地躺在欧几里得平面 上。"拥有一个朋友是什么样的感觉呢?"它自言自语道。
一个小小的点 出现在位置 上,它引起了多边形的注意。它们成为了朋友,而多边形喜欢绕这个小点 逆时针旋转(即以之为旋转中心),因为这样它就可以覆盖一些以前从未覆盖过的区域。如果某个点在多边形的边缘或内部,则称这个点被多边形覆盖。
但是 感到担忧:有一天,多边形可能会厌倦绕着它旋转。它觉得,当多边形覆盖过的区域不再增大(也就是不再能覆盖新的点)时,多边形就会抛弃它,他们将不再是朋友。
多边形的旋转角速度为每年 弧度,该多边形开始旋转的时间为时间 。请告诉 什么时候多边形会不再是它的朋友,如果确实如它所想。
输入格式
每组测试包含多个测试用例。第一行包含测试用例的数量 。
每个测试用例由多行组成。
第一行包含 个整数 $n, x, y \ (3 \leq n \leq 5 \times 10^5, |x| \leq 10^9, |y| \leq 10^9)$,其中 是凸多边形的边数, 是点 的位置。
从第二行到第 行的每一行包含两个整数 ,表示多边形中一个顶点的位置。保证给出的顶点是按逆时针顺序排列的。
保证在单组测试中,所有测试用例的 不超过 。
输出格式
对于每个测试用例,输出一个数值 的担忧可能成真的时刻。如果真实答案是 ,你的答案 只要满足 ,就会被认为是正确的。
3
4 0 0
1 0
0 1
-1 0
0 -1
3 0 0
1 0
1 -1
2 0
3 0 0
0 0
1 -1
1 1
1.570796326794897
6.283185307179586
4.712388980384690
解释 #1
- 第一个测试用例是一个正方形,旋转 弧度()后会覆盖所有四个象限,之后不再有新区域被覆盖。
- 第二个测试用例是一个三角形,旋转 弧度()后完成一个完整旋转。
- 第三个测试用例是一个三角形,旋转 弧度()后不再有新区域被覆盖。
注意输出结果需要满足相对误差不超过 的精度要求。