CF97B Superset

题目描述

在平面上的一组点被称为“好”的,如果对于任意两点,至少满足以下三个条件之一: - 这两点在同一条水平线上; - 这两点在同一条垂直线上; - 以这两点为对角的矩形,在其内部或边界上(不包括这两点)包含该集合中的至少一个点。这里的矩形指的是边平行于坐标轴的矩形,即这两点的最小外接矩形。 现在给定平面上的 $ n $ 个点,求出不超过 $ 2 \cdot 10^{5} $ 个点的、包含给定点集的“好”的超集。

输入格式

第一行包含一个整数 $ n $($ 1 \leq n \leq 10^{4} $),表示初始点的数量。接下来的 $ n $ 行,每行包含两个整数 $ x_{i} $ 和 $ y_{i} $($ -10^{9} \leq x_{i}, y_{i} \leq 10^{9} $),表示该点的坐标。保证所有点都不相同。

输出格式

第一行输出“好”超集的点数 $ m $($ n \leq m \leq 2 \cdot 10^{5} $)。接下来 $ m $ 行,每行输出两个整数,表示一个点的坐标。所有点的坐标绝对值不超过 $ 10^{9} $。 注意你不需要让 $ m $ 尽量小,只要输出任意一个满足条件的合理解即可。 超集中的所有点坐标必须为整数。

说明/提示

由 ChatGPT 5 翻译