#P16629. [Ukiepc2024]Hedge Topiary

[Ukiepc2024]Hedge Topiary

题目描述

有一丛形状为简单多边形的灌木需要修剪。

你希望将它修剪成一个指定的新形状,并使新形状的中心位于树干顶端。在两个多边形的坐标系中,树干顶端都用原点 (0,0)(0,0) 表示。

上图从左到右分别对应三个样例。网纹部分表示原来的灌木,绿色部分表示缩放后要保留的新形状。

原灌木的形状可能相当不规则,因此并不容易判断新形状最多可以放大到什么程度,而又不会在设计中留下缺口。

你只能以原点为中心,对新形状进行等比例缩放,不能平移或旋转。

请求出最大的缩放系数,使得缩放后的新形状完全包含在原灌木形状之内。也就是说,缩放后的新形状中不能存在任何一个不属于原灌木形状的点。

输入格式

第一行包含一个整数 nn,表示新形状多边形的顶点数。

接下来 nn 行,第 ii 行包含两个整数 xi,yix_i,y_i,表示新形状的第 ii 个顶点。

随后一行包含一个整数 mm,表示原灌木形状多边形的顶点数。

接下来 mm 行,第 ii 行包含两个整数 ui,viu_i,v_i,表示原灌木形状的第 ii 个顶点。

两个多边形的顶点均按边界顺序给出。

输出格式

输出一个实数,表示以原点 (0,0)(0,0) 为缩放中心时,可以施加于第一个多边形的最大缩放系数,使缩放后的第一个多边形完全包含在第二个多边形中。

缩放系数可以大于 11,也可以小于 11,但一定大于 00

答案的绝对误差或相对误差不得超过 10610^{-6}

数据范围

  • 3n,m5003\le n,m\le 500
  • 104xi,yi,ui,vi104-10^4\le x_i,y_i,u_i,v_i\le 10^4
  • 两个多边形都不保证为凸多边形;
  • 原点严格位于两个多边形的内部,不在边界上;
  • 两个多边形均为简单多边形:
    • 不自交;
    • 不自触;
    • 不重复顶点。

样例 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