#P16127. [ICPC 2018 NAIPC] Cut It Out!
[ICPC 2018 NAIPC] Cut It Out!
题目描述
给定两个凸多边形 和 ,保证 严格位于 的内部。
你想要通过一系列切割将 从 中分离出来。为此,每次你画一条完全穿过 的直线,该直线经过 的一条边,并将 分成两部分。你沿着这条直线切割,并丢弃不包含 的那一部分。重复这一过程,直到剩余的部分恰好就是 。
:::align{center}
:::
一次切割的成本等于该切割线的长度(即该直线在当前剩余 内部被切割的长度)。给定 和 ,求分离出 所需的最小成本。
输入格式
每个输入包含单个测试用例。请注意,你的程序可能会在不同输入上多次运行。每个测试用例的第一行包含一个整数 (),表示多边形 的顶点数。接下来的 行,每行包含两个整数 和 (),按顺时针顺序给出 的顶点。保证 是凸多边形。
下一行包含一个整数 (),表示多边形 的顶点数。接下来的 行,每行包含两个整数 和 (),按顺时针顺序给出 的顶点。保证 是凸多边形,并且 完全位于 的内部。
多边形内部或跨多边形之间没有三点共线。
输出格式
输出一个浮点数,表示将 从 中分离出来的最小成本。如果答案与标准答案的相对误差不超过 ,则视为正确。
4
0 0
0 14
15 14
15 0
4
8 3
4 6
7 10
11 7
40.0000000000
4
-100 -100
-100 100
100 100
100 -100
8
-1 -2
-2 -1
-2 1
-1 2
1 2
2 1
2 -1
1 -2
322.1421356237
提示
翻译由 DeepSeek V3.2 完成