3631: 交集

内存限制:512 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:

题目描述

π + e 与他的女神 Y 是在线性代数课上认识的。

π + e 这个学期选上了数学建模这门课程,他想把建模的那套理论运用到实 际生活中来。

不妨将 π + e 的生活轨迹抽象成二维平面的若干个凸多边形,则这些凸多边 形的交集即为 π + e 最常经过的范围。

再将 Y 的生活轨迹抽象成二维平面的若干个椭圆,则这些椭圆的交集即为
Y 最常经过的范围。

(不要问我为什么是椭圆……大概人家 Y 是妹子吧……问 π + e 去)

π + e 想求出所有的凸多边形与所有椭圆的交集,以制造一场完美的邂逅。

为了降低难度,你只需求出这个交集里面的任意一个点即可。保证交集非 空,不然 π + e 也就没兴趣求交集了。

输入

输入文件名为 cap.in

第一行,一个正整数 n,表示凸多边形的数目;

接下来的若干行具体给出了 n 个凸多边形,对于第 i 个凸多边形数据,

• 第一行一个正整数 vi,表示这个凸多边形的边数。

• 接下来的 vi 行,每行两个整数 x, y,表示这个多边形的顶点坐标。保证以
逆时针形式给出凸多边形的坐标。

接下来一行,一个正整数 m,表示椭圆的数目;

接下来 m 行,每行 5 个整数 x1, y1, x2, y2, a,表示椭圆的两个焦点 F1(x1, y1),
F2(x2, y2) 的坐标以及半长轴长度 a。

如果对椭圆不是很了解, https://en.wikipedia.org/wiki/Ellipse 上有详细的
介绍以及动态图示。或者问出题人 or 黄学长也行。 (说不定黄学长会跟你讲这题
怎么做)

输出

输出文件名为 cap.out

输出两行,每行一个浮点数,表示你所求得的一个在交集内的点。

由于存在精度误差,因此你的答案 P(x, y) 是对的,当且仅当

1. 点 P 在所有凸多边形和椭圆的内部或者边界上;

2. 存在符合条件 (1) 的点 Q,并且 P、 Q 两点的距离 < 104

样例输入 复制

2 4
0 0
2 0
2 1
0 1
3
-1 -1
5 1
0 5
1
1 2 1 4 2

样例输出 复制

0.999998
1

提示

对于 30% 的数据,存在以整数点为答案的点;

对于 100% 的数据,有 1 n 500, 3 vi 1500, 3 n i=0 1 vi 1500,
1 m 1500, 1 2√(x1 x2)2 + (y1 y2)2 a 104,坐标范围为 [104,104], 保证交集非空。