QOJ.ac

QOJ

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

#11659. 多边形

统计

昨天小约翰参加了一场几何考试。其中最难的一道题描述如下:给定两个三角形 $A$ 和 $B$,计算区域 $A + B$ 的面积,其定义为:$A + B = \{p_{1} + p_{2} : p_{1} \in A, p_{2} \in B\}$。例如,如果 $A$ 的顶点为 (0, 0), (0, 2), (2, 0),而 $B$ 的顶点为 (0, 0), (0, 1), (3, 0),那么 $A + B$ 是一个顶点为 (0, 0), (0, 3), (3, 2) 和 (5, 0) 的多边形,其面积为 9.5。

之后,约翰开始思考如何解决一个修改后的问题——“如果 $A$ 和 $B$ 是任意凸多边形,如何计算 $A + B$ 的面积”。小约翰明天还要参加生物考试,没时间自己解决这个问题。他请求你帮忙完成这项任务。

编写一个程序,实现以下功能:

  • 读取两个凸多边形 $A$ 和 $B$ 的描述;
  • 计算 $A + B$ 的面积;
  • 将该面积的两倍输出到标准输出。

输入格式

标准输入的第一行包含两个整数 $n$ 和 $m$ ($3 \le n, m \le 100\,000$),用空格分隔,分别表示多边形 $A$ 和 $B$ 的顶点数。第二行包含 $n$ 对整数 $(x_{i}, y_{i})$ ($-100\,000\,000 \le x_{i}, y_{i} \le 100\,000\,000$),表示多边形 $A$ 的连续顶点坐标(按顺时针顺序)。第三行包含 $m$ 对整数 $(x_{i}, y_{i})$ ($-100\,000\,000 \le x_{i}, y_{i} \le 100\,000\,000$),表示多边形 $B$ 的连续顶点坐标(按顺时针顺序)。

输出格式

第一行且仅包含一个整数,即 $A + B$ 面积的两倍。

样例

输入格式 1

4 4
0 0 0 1 2 1 2 0
0 0 0 2 1 2 1 0

输出格式 1

18

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.