QOJ.ac

QOJ

حد الوقت: 0.2 s حد الذاكرة: 1024 MB مجموع النقاط: 100

#4952. 激光切割

الإحصائيات

激光切割机上的激光头只能沿水平和垂直两个方向移动。你受聘加入了该机器的测试团队。

测试内容之一是编写程序,使机器执行一系列非空的连续切割,且起点和终点相同。序列中的每一次切割(第一次除外)都从上一次切割结束的点开始。切割线不会触及木板的边缘。下图 (a) 和 (b) 展示了两个切割序列的示例,分别包含 8 次和 14 次切割。

(a) (b)

你的老板要求你计算由切割序列产生的最大碎片的面积,不考虑与切割板边缘相连的碎片。也就是说,只考虑包含在切割线所形成多边形内部的碎片。下图 (c) 和 (d) 分别展示了图 (a) 和 (b) 切割产生的最大碎片。

(c) (d)

为了说明,下图 (e) 和 (f) 分别展示了图 (a) 和 (b) 切割序列中被丢弃的碎片(包含木板边缘的部分)。

(e) (f)

输入格式

第一行包含一个整数 $N$,表示序列中的切割次数 ($4 \le N \le 10^4$)。 第二行包含两个整数 $X_0$ 和 $Y_0$,表示切割序列中激光头的初始位置 ($1 \le X_0 \le 10^3$ 且 $1 \le Y_0 \le 10^3$)。 接下来的 $N$ 行,每行包含两个整数 $X_i$ 和 $Y_i$,表示第 $i$ 次切割的终点位置 ($1 \le X_i \le 10^3$ 且 $1 \le Y_i \le 10^3$,对于 $1 \le i \le N$,且 $(X_N, Y_N) = (X_0, Y_0)$)。 输入中给出的所有位置都是不同的,除了第一个和最后一个位置。

输出格式

你的程序必须输出一行,包含一个整数,即由切割序列产生的最大碎片的面积。

样例

输入 1

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

输出 1

17

输入 2

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

输出 2

21

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.