#P15769. [JAG 2025 Summer Camp #2] Strange House
[JAG 2025 Summer Camp #2] Strange House
说明
作为一名奇怪的房屋检查员,你正在检查一栋由 个房间组成的房屋。每个房间都是 平面上的一个矩形,其每条边均平行于 轴或 轴。房间之间可以接触,但不会重叠。
如果两个房间的边界共享一段长度为正的线段,则称这两个房间是相邻的。保证从任意一个房间出发,都可以通过反复移动到相邻房间而到达任何其他房间。此外,如果两个房间的边界仅共享一个点,那么必然存在另一个房间与这两个房间都相邻。
图 D-1 描绘了样例输入 1 的情况。另一方面,图 D-2 和图 D-3 是无效的输入。
:::align{center}
:::
在图 D-1 中,你可能已经发现了被房间包围的奇怪空间。更精确地说,如果一个简单多边形满足以下条件,则称其为奇怪空间:
- 该多边形与任何房间均不重叠。
- 对于该多边形边界上的任意一点,都存在一个房间的边界包含该点。
你的任务是找出房屋中所有的奇怪空间。输出奇怪空间的数量以及它们的面积之和。
输入格式
输入包含一个测试用例,格式如下。
$$\begin{aligned} & n \\ & l_1 \ r_1 \ b_1 \ t_1 \\ & \vdots \\ & l_n \ r_n \ b_n \ t_n \end{aligned}$$第一行包含一个整数 (),表示房屋中的房间数量。接下来的 行,每行包含四个满足 和 的整数。每行表示第 个房间的四个角点分别为 、、 和 。这些房间满足题目描述中说明的所有条件。
输出格式
输出两行。第一行应包含房屋中奇怪空间的数量。第二行应包含这些奇怪空间的面积之和。
10
10 30 10 90
30 90 10 30
10 30 90 110
30 90 90 110
30 80 40 90
90 120 10 110
120 170 10 50
120 130 60 110
130 170 60 110
130 170 50 60
2
1200
7
0 3 0 24
3 9 0 24
9 15 0 12
9 15 12 24
15 17 0 8
15 17 8 16
15 17 16 24
0
0
京公网安备 11011102002149号