CF1299B Aerodynamic

题目描述

Guy-Manuel 和 Thomas 打算建造一艘多边形飞船。 给定一个严格凸(即没有三点共线)的多边形 $P$,其由顶点的坐标定义。定义 $P(x, y)$ 为将 $P$ 平移向量 $\overrightarrow{(x, y)}$ 后得到的多边形。下图展示了平移的一个例子: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1299B/83c2f1baf8b89730630e4ed629298d51b68af048.png) 定义 $T$ 为所有满足原点 $(0, 0)$ 位于 $P(x, y)$(可以在内部或边界上)的 $P(x, y)$ 的并集。也有一个等价的定义:当且仅当存在 $P$ 上的两点 $A, B$,使得 $\overrightarrow{AB} = \overrightarrow{(x, y)}$ 时,点 $(x, y)$ 属于 $T$。可以证明 $T$ 也是一个多边形。例如,如果 $P$ 是一个正三角形,则 $T$ 是一个正六边形。下图中,$P$ 用黑色绘制,包含原点的若干 $P(x, y)$ 用彩色绘制: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1299B/7e534d615e6a5f78b53ffae5177d7d1ddaf49471.png) 当 $P$ 和 $T$ 相似时,飞船的空气动力学性能最佳。你的任务是判断多边形 $P$ 和 $T$ 是否相似。关于“相似”的定义见[这里](https://tinyurl.com/vp5m7vl)。

输入格式

输入的第一行包含一个整数 $n$($3 \le n \le 10^5$),表示顶点数。 接下来的 $n$ 行中,第 $i$ 行包含两个整数 $x_i, y_i$($|x_i|, |y_i| \le 10^9$),表示第 $i$ 个顶点的坐标。 保证这些点按逆时针顺序给出,且这些点构成一个严格凸多边形。

输出格式

如果 $P$ 和 $T$ 相似,输出一行 "YES";否则输出一行 "NO"。可以使用大写或小写字母。

说明/提示

下图展示了第一个样例:$P$ 和 $T$ 都是正方形。第二个样例已在题面中展示。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1299B/e9bf2b6bd412db56abfa4dcfff0f19e57982f841.png) 由 ChatGPT 4.1 翻译