AT_past202203_i 対称変換
Description
[problemUrl]: https://atcoder.jp/contests/past202203-open/tasks/past202203_i
無限に広がる $ xy $ 平面を考えます。
平面上の $ N $ 個の点からなる $ 2 $ つの集合 $ S\ =\ \lbrace\ (x_1,\ y_1),\ (x_2,\ y_2),\ \ldots,\ (x_N,\ y_N)\ \rbrace $ および $ T\ =\ \lbrace\ (X_1,\ Y_1),\ (X_2,\ Y_2),\ \ldots,\ (X_N,\ Y_N)\ \rbrace $ が与えられます。
下記の $ 2 $ つの操作のうち、どちらか一方のみを $ 0 $ 回または $ 1 $ 回行うことができます。
- $ x $ 軸に平行な直線を $ 1 $ 本選び、$ S $ の各点を選んだ直線に関して対称な位置に移動させる。
- $ y $ 軸に平行な直線を $ 1 $ 本選び、$ S $ の各点を選んだ直線に関して対称な位置に移動させる。
$ S $ を $ T $ に集合として一致させることが可能かどうかを判定してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ x_1 $ $ y_1 $ $ x_2 $ $ y_2 $ $ \vdots $ $ x_N $ $ y_N $ $ X_1 $ $ Y_1 $ $ X_2 $ $ Y_2 $ $ \vdots $ $ X_N $ $ Y_N $
Output Format
$ S $ を $ T $ に集合として一致させることが可能な場合は `Yes` を、不可能な場合は `No` を出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ |x_i|,\ |y_i|,\ |X_i|,\ |Y_i|\ \leq\ 10^9 $
- $ i\ \neq\ j\ \Rightarrow\ (x_i,\ y_i)\ \neq\ (x_j,\ y_j) $
- $ i\ \neq\ j\ \Rightarrow\ (X_i,\ Y_i)\ \neq\ (X_j,\ Y_j) $
- 入力はすべて整数
### Sample Explanation 1
$ S\ =\ \lbrace\ (0,\ 1),\ (0,\ 3),\ (2,\ 3)\ \rbrace,\ T\ =\ \lbrace\ (1,\ 3),\ (-1,\ 3),\ (1,\ 1)\ \rbrace $ です。 $ y $ 軸に平行な直線として直線 $ x\ =\ 0.5 $ を選ぶと、$ S $ の各点は $ (0,\ 1)\ \rightarrow\ (1,\ 1),\ (0,\ 3)\ \rightarrow\ (1,\ 3),\ (2,\ 3)\ \rightarrow\ (-1,\ 3) $ と移動し、$ S $ を $ T $ に集合として一致させることが可能です。よって、`Yes` を出力します。
### Sample Explanation 2
どのように操作を行っても、 $ S $ を $ T $ に集合として一致させることができないため `No` を出力します。 問題文中の $ 2 $ つの操作のうち、どちらか一方のみしか行えないことに注意してください。
### Sample Explanation 3
操作を行わなくても $ S $ と $ T $ は集合として一致しています。