#P9444. [ICPC 2021 WF] Islands from the Sky

[ICPC 2021 WF] Islands from the Sky

Description

你可能从未听说过 Iceepeecee 群岛,但这正是他们的居民所希望的。位于南太平洋的一个偏远地区,它们真正远离人迹罕至的地方,没有任何定期的空中或海上交通,仍然是一个未受破坏的热带天堂,拥有未受破坏的当地动植物。

当你不想被成群的游客淹没时,远离地图是很好的,但当你确实需要地图时就不太理想了。最近出现了一个这样的原因:Iceepeecee 的中央政府需要一个精确的岛屿地图来分配政府资金。即使是热带天堂也需要钱,所以 Iceepeecee 需要一张地图!

创建地图的最简单方法是航空测量。在认为包机太贵、建造气球太危险、给信鸽装上相机对动物太残忍之后,他们有了一个绝妙的主意。即使在这个偏远的地方,仍然有很多商业飞机飞过 Iceepeecee 上空。如果在已经计划飞行的航班上安装相机呢?这将是一个解决问题的廉价方案!

Iceepeecee 的计划是在飞机上安装线扫描相机。这些相机垂直向下拍摄,每次收集一条线段的图像,与飞行路径正交。拍摄的线段将由飞机的飞行高度和相机的光圈角度 θ\theta 决定(见图 F.1)。更大的角度 θ\theta 意味着相机可以看到更多,但也意味着相机更贵。

此外,Iceepeecee 希望确保每个岛屿都能被至少一次航班完整观察到。这意味着不够仅仅通过多次航班部分拍摄到一个岛屿,即使这些照片的组合覆盖了整个岛屿。

图 F.1:飞机的正面视图。其相机向下拍摄,可以看到飞机下方的绿色部分。可见的范围取决于光圈角度 θ\theta

飞行路径在三维空间中沿直线段,即 (x1,y1,z1x_1, y_1, z_1) - (x2,y2,z2x_2, y_2, z_2)(见图 F.2),其中 zz 坐标给出飞机的高度。照片仅在这些线段上拍摄。

给定他们的岛屿和航班的位置,Iceepeecee 想要找到允许成功测量的最小光圈角度 θ\theta。你能帮忙吗?

图 F.2:三个岛屿(以黑色显示)和两条飞行路径(红色和绿色)。未显示高度。阴影区域表示在最佳选择的 θ\theta 下两条飞行路径上可见的地面。这对应于第一个样例输入。

Input Format

输入描述了一组岛屿和飞行路径。首先是一行包含两个整数 nnmm,分别表示岛屿的数量 nn 和飞行路径的数量 mm1n,m1001 \leq n,m \leq 100)。接下来是 nn 个岛屿的描述。每个岛屿描述以一行开始,包含一个整数 nin_i,表示描述第 ii 个岛屿的多边形的顶点数(3ni1003 \leq n_i \leq 100)。接下来是 nin_i 行,每行包含两个整数 xijx_{ij}yijy_{ij}xij,yij106|x_{ij}|, |y_{ij}| \leq 10^6),按逆时针顺序指定第 ii 个岛屿的顶点。每个岛屿的多边形是简单的,即其顶点是不同的,且多边形的边不相交或接触,除了相邻的边在其公共顶点处接触。不同的岛屿不相交或接触。

输入以另外 mm 行结束,每行描述一条飞行路径。每行包含六个整数 x1x_1y1y_1z1z_1x2x_2y2y_2z2z_2xi,yi,zi106|x_i|, |y_i|, |z_i| \leq 10^6zi>0z_i > 0 且 (x1,y1x_1, y_1) eq eq (x2,y2x_2, y_2))。它们指定了一次从 (x1,y1,z1x_1, y_1, z_1) 到 (x2,y2,z2x_2, y_2, z_2) 的飞行。

Output Format

输出允许使用给定航班对岛屿进行完整测量的最小角度 θ\theta(以度为单位)。答案应精确到绝对或相对误差 10610^{-6}。如果没有这样的角度,则输出 impossible\texttt{impossible}。输入被选择为,如果岛屿顶点的坐标最多改变 ±108\pm 10^{-8},则答案不会超过允许的舍入误差。

3 2
3
20 30
50 50
10 50
4
40 20
60 10
75 20
60 30
4
45 60
55 55
60 60
55 65
0 30 20 78 70 5
55 0 20 70 60 10

48.031693036

1 1
4
0 0
10 0
10 10
0 10
5 5 10 15 5 10

impossible

Hint

题面翻译由 ChatGPT-4o 提供。