QOJ.ac

QOJ

Time Limit: 0.5 s Memory Limit: 2048 MB Total points: 100

#15699. 建造堡垒

Statistics

你是一位正在建造防御堡垒以抵御蛮族入侵的罗马将军。

你只知道如何建造直墙,因此你的堡垒将呈多边形。

由于地形原因(在所有整数坐标处都分布着多座山丘),你深知敌方的火炮只能以非常特定的方式部署,且堡垒内部较高的位置更容易受到攻击。这意味着:

  • 多边形的所有顶点必须具有介于 $1$ 和 $10^9$ 之间(含边界)的整数坐标;
  • 给定的 $N$ 个已知点 $(x_i, y_i)$($i = 1, \dots, N$,其整数坐标介于 $1$ 和 $10^9$ 之间,含边界)必须是该多边形的顶点;
  • 多边形的严格内部不能包含任何具有整数坐标的点,否则这些点将容易受到敌方火炮的攻击;
  • 该多边形必须是简单多边形(简单多边形是由一条不自交且不自重叠的单一封闭路径形成的多边形;显然,堡垒需要是封闭的,且你不知道如何建造相交的墙)。

此外,由于建造该堡垒的成本和材料有限,你最多只能建造一个顶点数小于或等于 $3N$ 的多边形。

可以证明,这样的多边形总是存在的。

输入格式

第一行包含一个整数 $N$。

接下来的 $N$ 行,每行包含两个空格分隔的整数 $x_i, y_i$,表示必须作为多边形顶点的点。

输出格式

第一行应包含一个整数 $K$,表示多边形的顶点数。

接下来的 $K$ 行,每行应包含两个空格分隔的整数 $x'_i, y'_i$,表示多边形顶点的坐标。这些顶点必须按顺序排列,以形成一条定义多边形轮廓的封闭且不自交的路径。

如果存在多个可行解,你可以输出其中任意一个。

数据范围

  • $3 \le N \le 1000$
  • $1 \le x_i \le 10^9$(对于 $i = 1, \dots, N$)
  • $1 \le y_i \le 10^9$(对于 $i = 1, \dots, N$)
  • 所有 $(x_i, y_i)$ 互不相同
  • $1 \le x'_i \le 10^9$(对于 $i = 1, \dots, K$)
  • $1 \le y'_i \le 10^9$(对于 $i = 1, \dots, K$)
  • 所有 $(x'_i, y'_i)$ 必须互不相同

样例

输入样例 1

4
1 1
1 3
3 1
3 3

输出样例 1

5
1 1
3 1
3 3
2 2
1 3

说明

以下是针对样例输入的一个可行解:

另一方面,以下多边形不是合法解:

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.