QOJ.ac

QOJ

时间限制: 1 s 内存限制: 128 MB 总分: 10

#6062. 部落 [B]

统计

Bajtowicz 教授是一位备受推崇的历史学家。最近,他提出了一个大胆的假设,用以解释 Bajtopia 大陆上最早的国家形成过程。众所周知,在民族大迁徙之后,这些地区居住着 $n$ 个部落。有趣的是,每个部落都占据着一定的领土,在 Bajtopia 的地图上,这些领土表现为边与地图边缘平行的矩形。这些领土不一定是互不相交的,因此在某些地区,多种文化会发生交汇。

根据 Bajtowicz 教授的假设,如果两个部落领土的交集面积为正,那么经过一段时间后,这些部落就会合并。这会促进进一步的扩张,新形成的部落会扩展到包含它们原有领土的最小矩形(边与地图边缘平行)内部。

Bajtowicz 教授认为,这个过程会持续进行,直到某一时刻,任意两个领土之间的交集面积均为零。此时,局势趋于稳定,部落所占据的区域就演变成了最早的国家。

教授知道,即使是他的权威地位,也可能不足以让如此创新的假设被僵化的学术界所接受。幸运的是,得益于他之前的研究,他拥有两张精确的地图。其中一张描述了原始部落的位置,另一张描述了最早的国家的位置。Bajtowicz 秘密聘请你根据第一张地图,按照他的模型模拟部落的发展。当你提供理论结果后,他会将这些结果与第二张地图上的实际国家分布进行比较,从而判断他的假设是否有可能是正确的。

输入格式

输入的第一行包含一个整数 $n$ ($1 \le n \le 100\,000$),表示居住在 Bajtopia 的原始部落数量。接下来的 $n$ 行,每行包含四个整数 $x_1, x_2, y_1$ 和 $y_2$ ($0 \le x_1 < x_2 \le 1\,000\,000, 0 \le y_1 < y_2 \le 1\,000\,000$),表示某个部落占据的领土,该领土在地图上是一个以 $(x_1, y_1)$ 和 $(x_2, y_2)$ 为对角顶点的矩形。

输出格式

你的程序应在第一行输出一个整数 $m$,表示根据 Bajtowicz 的假设应该形成的国家数量。接下来,你的程序应输出 $m$ 行,每行包含四个整数 $x_1, x_2, y_1$ 和 $y_2$,用空格分隔,表示其中一个国家的领土是地图上以 $(x_1, y_1)$ 和 $(x_2, y_2)$ 为对角顶点的矩形,其中 $x_1 < x_2, y_1 < y_2$。这些四元组必须各不相同,并按字典序输出。

样例

输入 1

5
7 8 1 4
1 5 2 3
4 5 2 7
2 3 5 9
4 6 8 9

输出 1

2
1 6 2 9
7 8 1 4

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.