#P9444. [ICPC 2021 WF] Islands from the Sky
[ICPC 2021 WF] Islands from the Sky
Description
你可能从未听说过 Iceepeecee 群岛,但这正是他们的居民所希望的。位于南太平洋的一个偏远地区,它们真正远离人迹罕至的地方,没有任何定期的空中或海上交通,仍然是一个未受破坏的热带天堂,拥有未受破坏的当地动植物。
当你不想被成群的游客淹没时,远离地图是很好的,但当你确实需要地图时就不太理想了。最近出现了一个这样的原因:Iceepeecee 的中央政府需要一个精确的岛屿地图来分配政府资金。即使是热带天堂也需要钱,所以 Iceepeecee 需要一张地图!
创建地图的最简单方法是航空测量。在认为包机太贵、建造气球太危险、给信鸽装上相机对动物太残忍之后,他们有了一个绝妙的主意。即使在这个偏远的地方,仍然有很多商业飞机飞过 Iceepeecee 上空。如果在已经计划飞行的航班上安装相机呢?这将是一个解决问题的廉价方案!
Iceepeecee 的计划是在飞机上安装线扫描相机。这些相机垂直向下拍摄,每次收集一条线段的图像,与飞行路径正交。拍摄的线段将由飞机的飞行高度和相机的光圈角度 决定(见图 F.1)。更大的角度 意味着相机可以看到更多,但也意味着相机更贵。
此外,Iceepeecee 希望确保每个岛屿都能被至少一次航班完整观察到。这意味着不够仅仅通过多次航班部分拍摄到一个岛屿,即使这些照片的组合覆盖了整个岛屿。
图 F.1:飞机的正面视图。其相机向下拍摄,可以看到飞机下方的绿色部分。可见的范围取决于光圈角度 。
飞行路径在三维空间中沿直线段,即 () ()(见图 F.2),其中 坐标给出飞机的高度。照片仅在这些线段上拍摄。
给定他们的岛屿和航班的位置,Iceepeecee 想要找到允许成功测量的最小光圈角度 。你能帮忙吗?
图 F.2:三个岛屿(以黑色显示)和两条飞行路径(红色和绿色)。未显示高度。阴影区域表示在最佳选择的 下两条飞行路径上可见的地面。这对应于第一个样例输入。
Input Format
输入描述了一组岛屿和飞行路径。首先是一行包含两个整数 和 ,分别表示岛屿的数量 和飞行路径的数量 ()。接下来是 个岛屿的描述。每个岛屿描述以一行开始,包含一个整数 ,表示描述第 个岛屿的多边形的顶点数()。接下来是 行,每行包含两个整数 ,(),按逆时针顺序指定第 个岛屿的顶点。每个岛屿的多边形是简单的,即其顶点是不同的,且多边形的边不相交或接触,除了相邻的边在其公共顶点处接触。不同的岛屿不相交或接触。
输入以另外 行结束,每行描述一条飞行路径。每行包含六个整数 ,,,,,(, 且 () ())。它们指定了一次从 () 到 () 的飞行。
Output Format
输出允许使用给定航班对岛屿进行完整测量的最小角度 (以度为单位)。答案应精确到绝对或相对误差 。如果没有这样的角度,则输出 。输入被选择为,如果岛屿顶点的坐标最多改变 ,则答案不会超过允许的舍入误差。
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 提供。
京公网安备 11011102002149号