luogu#P7397. 雨水收集系统(2021 CoE-I E)

    ID: 11399 远端评测题 1000ms 128MiB 尝试: 1 已通过: 1 难度: 6 上传者: 标签>计算几何2021Special Judge凸包半平面交凸多边形的交

雨水收集系统(2021 CoE-I E)

题目背景

Rain 市的环保部门为部分建筑的顶层安装了雨水收集装置,使得能够将雨水进行循环利用。雨水收集系统通过每栋建筑的顶层地面来收集雨水,利用特殊的管道将雨水集中引流到一个蓄水池中以待后续使用。环保部门计划根据降水量来估计蓄水池的容量大小以便进行设计制造。

题目描述

为了简化问题的处理,将每栋建筑的顶层视为一个边与坐标轴平行的矩形,使用矩形的一条对角线顶点坐标来表示该矩形。每次降雨时,降雨云沿着特定的方向以一定的速度做匀速运动,降雨云所经过的区域均会有雨水降落。将降雨云抽象为一个凸多边形,给定初始时降雨云的位置以及移动方向和速率,确定在某段时间内雨水收集系统能够接受降雨的面积大小。

输入格式

输入包含多组测试数据

输入的第一行为一个整数 TT,表示测试数据的组数,接下来共 TT 组数据,相邻两组测试数据之间有一个空行。每组测试数据的第一行为一个整数 nn,表示建筑的数量。接下来 nn 行,每行四个整数,表示第 ii 栋建筑顶层所对应矩形的对角线顶点坐标。接下来一行是一个整数 mm,表示降雨云对应凸多边形的顶点数目,接下来是 mm 个表示该凸多边形的顶点坐标(不保证有序,即顶点可能不是按照顺时针或逆时针顺序给出,但给定的坐标点唯一地确定了表示降雨云的凸多边形):(x1x_1y1y_1),(x2x_2y2y_2),...,(xmx_mymy_m)。再接下来是起点 ssxsx_sysy_s)和终点 eexex_eyey_e)的坐标值,表示降雨云沿着从起点 ss 到终点 ee 的直线方向做平移运动。后续是一个整数 vv,表示降雨云沿着直线方向的移动速率为 vv 单位距离/分钟,最后一行表示降雨的起始时间 hhstarthh_{start}mmstartmm_{start} 分和结束时间 hhendhh_{end}mmendmm_{end} 分,以 2424 小时计时法表示。

输出格式

输出在指定时间内能够接受降雨的建筑顶层面积之和,精确到小数点后一位。如果你的输出和参考输出绝对误差在10110^{-1}之内,均认为正确。

2

2
0 0 10 10
20 20 30 10
4
-10 8 -5 8 -5 13 -10 13
15 0 25 0
1
15:30 16:05

2
0 0 10 10
20 20 30 10
4
-10 8 -5 8 -5 13 -10 13
-5 8 19 1
1
15:30 16:30
50.0
60.5

提示

样例说明

第一组测试数据,此组测试数据一共有 22 栋建筑 B1\operatorname{B_1}B2\operatorname{B_2},降雨云 C\operatorname{C} 为一个正方形(正方形的左下角位于坐标点(10-1088),边长为 55),降雨云沿着从起点(151500)到终点(252500)的方向匀速移动,移动速率为 11 单位距离/分钟,降雨起始时间为 15153030 分,结束时间为 16160505 分,降雨时间为 3535 分钟,降雨云沿着箭头所示方向移动了 3535 单位距离。如上图所示,能够接受降雨的面积为阴影区域的面积,易知面积为 50.050.0

第二组测试数据,降雨云的移动方向不同,从起点(5-588)到终点(191911)的方向匀速移动,降雨时间为 6060 分钟,沿着箭头所示方向的移动距离为 6060 单位距离,其他条件相同,能够接受降雨的面积为上图中的阴影区域,其面积为 60.560.5。注意,第二组测试数据的示意图中,为了示意的方便,所绘制的降雨云“最终位置”并不是其实际的最终位置。


数据范围与约定

对于 100%100\% 的数据,1T1031 \leq T \leq 10^31n501 \leq n \leq 503m1003 \leq m \leq 1000<v1000 \lt v \leq 100。所有坐标值均为整数,位于闭区间 [105,105][-10^5,10^5]

输入数据保证表示建筑顶层的矩形不会发生重叠。降雨的结束时间一定晚于起始时间。表示降雨云移动方向的起点 ss 和终点 ee 不同。