#P16629. [Ukiepc2024]Hedge Topiary
[Ukiepc2024]Hedge Topiary
题目描述
有一丛形状为简单多边形的灌木需要修剪。
你希望将它修剪成一个指定的新形状,并使新形状的中心位于树干顶端。在两个多边形的坐标系中,树干顶端都用原点 表示。

上图从左到右分别对应三个样例。网纹部分表示原来的灌木,绿色部分表示缩放后要保留的新形状。
原灌木的形状可能相当不规则,因此并不容易判断新形状最多可以放大到什么程度,而又不会在设计中留下缺口。
你只能以原点为中心,对新形状进行等比例缩放,不能平移或旋转。
请求出最大的缩放系数,使得缩放后的新形状完全包含在原灌木形状之内。也就是说,缩放后的新形状中不能存在任何一个不属于原灌木形状的点。
输入格式
第一行包含一个整数 ,表示新形状多边形的顶点数。
接下来 行,第 行包含两个整数 ,表示新形状的第 个顶点。
随后一行包含一个整数 ,表示原灌木形状多边形的顶点数。
接下来 行,第 行包含两个整数 ,表示原灌木形状的第 个顶点。
两个多边形的顶点均按边界顺序给出。
输出格式
输出一个实数,表示以原点 为缩放中心时,可以施加于第一个多边形的最大缩放系数,使缩放后的第一个多边形完全包含在第二个多边形中。
缩放系数可以大于 ,也可以小于 ,但一定大于 。
答案的绝对误差或相对误差不得超过 。
数据范围
- ;
- ;
- 两个多边形都不保证为凸多边形;
- 原点严格位于两个多边形的内部,不在边界上;
- 两个多边形均为简单多边形:
- 不自交;
- 不自触;
- 不重复顶点。
样例 1
输入
4
-1 -1
-1 1
1 1
1 -1
4
-5 0
0 -5
5 0
0 5
输出
2.5
样例 2
输入
8
-9 1
-9 6
-15 0
-9 -6
9 -6
15 0
9 6
9 1
6
6 -4
6 5
2 1
-2 1
-6 5
-6 -4
输出
0.4
样例 3
输入
4
2 1
-2 1
-1 -1
2 -1
5
-5 3
-3 -4
6 -5
4 1
6 3
输出
2