2133: 漏斗
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:0
题目描述
Gheeves(gheef 的复数形式)是一些类似于漏斗的物体。我们定义gheef 是满足如下条件的用
一列点表示的二维物体:
◎3 <= n <= 100;
◎如果一个点pi 用坐标(xi,yi)来表示,那么有一个索引1 < c < n 使得y1 > y2 > „ > yc
且yc < yc+1 < yc+2 < „ < yn,那么pc就叫做这个gheef 的尖端;
◎对于所有的1 <= i < c 有xi < xc并且对于所有的c < i <= n 有xi > xc;
◎对于1 < i < c,pi-1绕着pi顺时针旋转到和直线pipi+1共线的角度大于180 度,类似地,对
于c < i < n,pi-1绕着pi顺时针旋转到和直线pipi+1共线的角度大于180 度;
◎所有连接两个相邻点的线段仅在端点处相交。
例如,如下的图展现了一个c=4 的gheef:
我们把线段序列(p1p2,p2p3„„,pn-1pn)叫做gheef 的主体。在这个问题中,我们将得到两个
gheef:P=(p1,p2,„,pn)和Q=(q1,q2,„,qn),使得P 中所有的x 坐标都是负整数,而Q 中所有
的x 坐标都是正整数。假设这两个gheef 的尖端用一根很窄的管子连接起来,我们倒一定量的水到
gheef 中。随着我们倒水,两个gheef 水涨上来,根据众所周知的物理法则(两个gheef 的水的高
度相同)。注意在gheef P 中,如果水的高度到达了min(y1,yn),那么水就流出去了(Q 也一样)。
你的程序必须判断倒入一定量水之后两个gheef 中的水的高度。因为我们已经决定我们的问题是在
二维上,水的量就以它填充的面积计算。注意管子的体积为0。
输入
输入数据有3 行。第一行包含一个整数a(1 <= a <= 100000)代表倒入两个gheef 的水的总量。
接下来两行分别描述两个gheef P 和Q。每行的形式是k x1 y1 x2 y2 „ xk yk,k 是gheef 中的
点数,xi yi序列是按顺序给出的点的序列。
接下来两行分别描述两个gheef P 和Q。每行的形式是k x1 y1 x2 y2 „ xk yk,k 是gheef 中的
点数,xi yi序列是按顺序给出的点的序列。
输出
输出一行一个实数,代表最后水的高度,用y 坐标来表示,小数点后保留3 位。
样例输入 复制
25
3 -30 10 -20 0 -10 10
3 10 10 20 0 30 10
样例输出 复制
3.536