AT_abc207_d [ABC207D] Congruence Points

题目描述

给定两个在二维平面上的点集 $S=\{(a_1,b_1),(a_2,b_2),\ldots,(a_N,b_N)\}$ 和 $T=\{(c_1,d_1),(c_2,d_2),\ldots,(c_N,d_N)\}$,它们都包含 $N$ 个点。 你可以对 $S$ 进行以下任意次数、任意顺序的操作,请判断是否可以通过这些操作使 $S$ 和 $T$ 完全重合。 - 选择一个实数 $p\ (0 < p < 360)$,将 $S$ 中的所有点以原点为中心顺时针旋转 $p$ 度。 - 选择实数 $q, r$,将 $S$ 中的所有点在 $x$ 轴方向平移 $q$,在 $y$ 轴方向平移 $r$。$q, r$ 没有任何限制,可以为正、负或零。

输入格式

输入以如下格式从标准输入读入。 > $N$ > $a_1\ b_1$ > $a_2\ b_2$ > $\vdots$ > $a_N\ b_N$ > $c_1\ d_1$ > $c_2\ d_2$ > $\vdots$ > $c_N\ d_N$

输出格式

如果可以通过题目中的操作使 $S$ 和 $T$ 完全重合,输出 `Yes`;否则输出 `No`。

说明/提示

### 限制条件 - $1 \leq N \leq 100$ - $-10 \leq a_i, b_i, c_i, d_i \leq 10$ - 若 $i \neq j$,则 $(a_i, b_i) \neq (a_j, b_j)$ - 若 $i \neq j$,则 $(c_i, d_i) \neq (c_j, d_j)$ - 所有输入均为整数 ### 样例解释 1 将 $S$ 中的点用红色表示,$T$ 中的点用绿色表示,给定的点集如下图所示。 ![](https://img.atcoder.jp/ghi/39ad67d4e10490f509f252a1f0e4935b.png) 在这种情况下,可以通过以下步骤使 $S$ 和 $T$ 完全重合: 1. 将 $S$ 中的所有点以原点为中心顺时针旋转 $270$ 度。 2. 将 $S$ 中的所有点在 $x$ 轴方向平移 $3$,在 $y$ 轴方向平移 $0$。 ### 样例解释 2 对应输入的图如下所示。 ![](https://img.atcoder.jp/ghi/02c4ca4a8329110dc131b37720283d2a.png) $S$ 和 $T$ 关于 $y$ 轴对称,但无法通过题目中描述的旋转和平移操作使 $S$ 和 $T$ 完全重合。 由 ChatGPT 4.1 翻译