atcoder#ABC207D. [ABC207D] Congruence Points

[ABC207D] Congruence Points

题目描述

要素数が共に N N であるような二次元平面上の点の集合 S={(a1,b1),(a2,b2),,(aN,bN)} S=\{(a_1,b_1),(a_2,b_2),\ldots,(a_N,b_N)\} T={(c1,d1),(c2,d2),,(cN,dN)} T=\{(c_1,d_1),(c_2,d_2),\ldots,(c_N,d_N)\} が与えられます。

S S に対して以下の操作を 0 0 回以上任意の順に好きなだけ繰り返すことで、S S T T を一致させられるかを判定してください。

  • 実数 p (0 < p < 360) p\ (0\ \lt\ p\ \lt\ 360) を定め、 S S に含まれる全ての点を、原点を中心に時計回りに p p 度回転させる。
  • 実数 q,r q,r を定める。S S に含まれる全ての点を、x x 軸方向に q q , y y 軸方向に r r 移動させる。q q , r r の値域に制約はなく、特に正/負/零のいずれになってもよい。

输入格式

入力は以下の形式で標準入力から与えられる。

N N a1 a_1 b1 b_1 a2 a_2 b2 b_2 \hspace{0.6cm}\vdots aN a_N bN b_N c1 c_1 d1 d_1 c2 c_2 d2 d_2 \hspace{0.6cm}\vdots cN c_N dN d_N

输出格式

問題文中の操作によって S S T T を一致させられるなら Yes を、一致させられないなら No を出力せよ。

题目大意

题意简述

在一个平面直角坐标系上,有两个点的集合 S,TS,T ,对于 SS , 我们采用[a1,b1],[a2,b2],...,[an,bn]{[a_1,b_1],[a_2,b_2],...,[a_n,b_n]} 表示 SS 中每个点的坐标 ,对于 TT, 我们采用[c1,d1],[c2,d2],...,[cn,dn][c_1,d_1],[c_2,d_2],...,[c_n,d_n] 表示 TT 中每个点的坐标

现在我们想要知道经过数次如下的操作(操作类型可自由选择,操作次数可为0)后,是否可使 S,TS, T重合:

  • 任选一个实数p(0<p360)p(0<p\leq360),并将 SS 中的每个点围绕原点顺时针旋转 p度。

  • 选择实数q和r,将S中的每个点在x方向上移动 qq,在 yy 方向上移动 rr 。这里,qqrr 可以是任何实数,无论是正数、负数还是零。

如果可使 S,TS, T 重合,输出 YesYes, 否则,请输出 NoNo.

样例说明:

样例一:

在这种情况下,我们可以如下匹配 SSTT

  1. 围绕原点顺时针旋转 SS 中的每个点 270270 度。
  2. SS 中的每个点在 xx 方向上移动3,在 yy 方向上移动0。
3
0 0
0 1
1 0
2 0
3 0
3 1
Yes
3
1 0
1 1
3 0
-1 0
-1 1
-3 0
No
4
0 0
2 9
10 -2
-6 -7
0 0
2 9
10 -2
-6 -7
Yes
6
10 5
-9 3
1 -5
-6 -5
6 9
-9 0
-7 -10
-10 -5
5 4
9 0
0 -10
-10 -2
Yes

提示

制約

  • 1  N  100 1\ \leq\ N\ \leq\ 100
  • 10  ai,bi,ci,di  10 -10\ \leq\ a_i,b_i,c_i,d_i\ \leq\ 10
  • i  j i\ \neq\ j なら (ai,bi)  (aj,bj) (a_i,b_i)\ \neq\ (a_j,b_j)
  • i  j i\ \neq\ j なら (ci,di)  (cj,dj) (c_i,d_i)\ \neq\ (c_j,d_j)
  • 入力は全て整数

Sample Explanation 1

S S に含まれる点を赤で、T T に含まれる点を緑で塗った場合、与えられる点集合は以下の図の通りになります。 ![](https://img.atcoder.jp/ghi/39ad67d4e10490f509f252a1f0e4935b.png) この場合、以下の手順によって S S T T に一致させることができます。 1. S S に含まれる全ての点を、原点を中心に時計回りに 270 270 度回転させる。 2. S S に含まれる全ての点を、x x 軸方向に 3 3 , y y 軸方向に 0 0 移動させる。

Sample Explanation 2

入力に対応する図は以下の通りです。 ![](https://img.atcoder.jp/ghi/02c4ca4a8329110dc131b37720283d2a.png) S S T T y y 軸に対して線対称ですが、問題文中に書かれているような回転操作、移動操作によって S S T T を一致させることはできません。