[ABC189E] Rotate and Flip
题意翻译
## 题目描述
给出 $N$ 个点,以及每个点得坐标 $(x_i,y_i)$,给出 $M$ 次操作,操作如下:
- 第一种操作:将所有点绕原点 $(0,0)$ 顺时针旋转 $90$ 度。
- 第二种操作:将所有点绕原点 $(0,0)$ 逆时针旋转 $90$ 度。
- 第三种操作:以 $x=p$ 为对称轴,将所有的点对称过去。
- 第四种操作:以 $y=p$ 为对称轴,将所有的点对称过去。
接着给出 $Q$ 组询问,每次询问在某次操作过后某个点的坐标。
## 输入格式
第一行输入 $N$,表示 $N$ 个点。
接下来 $N$ 行,每行输入 $x_i,y_i$,表示第 $i$ 个点的坐标。
第 $N+2$ 行输入 $M$,表示操作次数。
接下来 $M$ 行,每行首先输入 $opt_i$,表示执行第 $opt_i$ 种操作。如果 $opt_i=3$ 或者 $opt_i=4$,再输入一个数字 $p$,表示一条直线。
第 $N+M+3$ 行输入 $Q$,表示询问个数。
接下来 $Q$ 行,每行两个数字 $A_i,B_i$,表示询问在第 $A_i$ 次操作过后第 $B_i$ 个点的坐标。特别的,$A_i=0$ 表示询问初始的坐标。
## 输出格式
输出 $Q$ 行,每行输出对于一次询问的答案。
题目描述
[problemUrl]: https://atcoder.jp/contests/abc189/tasks/abc189_e
$ 2 $ 次元平面に $ N $ 個の駒が置かれています。駒には $ 1 $ から $ N $ までの番号が付いており、駒 $ i $ が置かれている座標は $ (X_i,Y_i) $ です。複数の駒が同じ座標に置かれている可能性もあります。
$ M $ 個の操作 $ \mathrm{op}_1,\ \ldots,\ \mathrm{op}_M $ を順に行います。操作は $ 4 $ 種類あり、入力形式と操作の内容は以下の通りです。
- `1`:全ての駒を、原点を中心に時計回りに $ 90 $ 度回転させた位置に移動する
- `2`:全ての駒を、原点を中心に反時計回りに $ 90 $ 度回転させた位置に移動する
- `3 p`:全ての駒を、直線 $ x=p $ について対称な位置に移動する
- `4 p`:全ての駒を、直線 $ y=p $ について対称な位置に移動する
クエリが $ Q $ 個与えられます。 $ i $ 番目のクエリでは $ 2 $ つの整数 $ A_i,B_i $ が与えられるので、$ A_i $ 個目の操作を行った直後に駒 $ B_i $ がある座標を出力してください。ここで、$ 1 $ 個目の操作の直前を「$ 0 $ 個目の操作の直後」とみなします。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ X_1 $ $ Y_1 $ $ \vdots $ $ X_N $ $ Y_N $ $ M $ $ \mathrm{op}_1 $ $ \vdots $ $ \mathrm{op}_M $ $ Q $ $ A_1 $ $ B_1 $ $ \vdots $ $ A_Q $ $ B_Q $
输出格式
各クエリに対する答えを、$ 1 $ 行に $ 1 $ つずつ、$ x $ 座標、$ y $ 座標の順に空白区切りで出力せよ。
输入输出样例
输入样例 #1
1
1 2
4
1
3 3
2
4 2
5
0 1
1 1
2 1
3 1
4 1
输出样例 #1
1 2
2 -1
4 -1
1 4
1 0
输入样例 #2
2
1000000000 0
0 1000000000
4
3 -1000000000
4 -1000000000
3 1000000000
4 1000000000
2
4 1
4 2
输出样例 #2
5000000000 4000000000
4000000000 5000000000
说明
### 制約
- 入力は全て整数
- $ 1\ \leq\ N\ \leq\ 2\times\ 10^5 $
- $ 1\ \leq\ M\ \leq\ 2\times\ 10^5 $
- $ 1\ \leq\ Q\ \leq\ 2\times\ 10^5 $
- $ -10^9\ \leq\ X_i,Y_i\ \leq\ 10^9 $
- $ \mathrm{op}_i $ は $ 4 $ つの操作の種類のいずれかの入力形式に従う
- `3 p` 及び `4 p` の操作において $ -10^9\ \leq\ p\ \leq\ 10^9 $
- $ 0\ \leq\ A_i\ \leq\ M $
- $ 1\ \leq\ B_i\ \leq\ N $
### Sample Explanation 1
最初、唯一の駒である駒 $ 1 $ は $ (1,2) $ に置かれています。各操作により駒 $ 1 $ の位置は $ (1,2)\to(2,-1)\to(4,-1)\to(1,4)\to(1,0) $ と変化します。