atcoder#ABC189E. [ABC189E] Rotate and Flip

[ABC189E] Rotate and Flip

配点 : 500500

問題文

22 次元平面に NN 個の駒が置かれています。駒には 11 から NN までの番号が付いており、駒 ii が置かれている座標は (Xi,Yi)(X_i,Y_i) です。複数の駒が同じ座標に置かれている可能性もあります。

MM 個の操作 op1,,opM\mathrm{op}_1, \ldots, \mathrm{op}_M を順に行います。操作は 44 種類あり、入力形式と操作の内容は以下の通りです。

  • 1:全ての駒を、原点を中心に時計回りに 9090 度回転させた位置に移動する
  • 2:全ての駒を、原点を中心に反時計回りに 9090 度回転させた位置に移動する
  • 3 p:全ての駒を、直線 x=px=p について対称な位置に移動する
  • 4 p:全ての駒を、直線 y=py=p について対称な位置に移動する

クエリが QQ 個与えられます。 ii 番目のクエリでは 22 つの整数 Ai,BiA_i,B_i が与えられるので、AiA_i 個目の操作を行った直後に駒 BiB_i がある座標を出力してください。ここで、11 個目の操作の直前を「00 個目の操作の直後」とみなします。

制約

  • 入力は全て整数
  • 1N2×1051 \leq N \leq 2\times 10^5
  • 1M2×1051 \leq M \leq 2\times 10^5
  • 1Q2×1051 \leq Q \leq 2\times 10^5
  • 109Xi,Yi109-10^9 \leq X_i,Y_i \leq 10^9
  • opi\mathrm{op}_i44 つの操作の種類のいずれかの入力形式に従う
  • 3 p 及び 4 p の操作において 109p109-10^9 \leq p \leq 10^9
  • 0AiM0 \leq A_i \leq M
  • 1BiN1 \leq B_i \leq N

入力

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

NN

X1X_1 Y1Y_1

\vdots

XNX_N YNY_N

MM

op1\mathrm{op}_1

\vdots

opM\mathrm{op}_M

QQ

A1A_1 B1B_1

\vdots

AQA_Q BQB_Q

出力

各クエリに対する答えを、11 行に 11 つずつ、xx 座標、yy 座標の順に空白区切りで出力せよ。

1
1 2
4
1
3 3
2
4 2
5
0 1
1 1
2 1
3 1
4 1
1 2
2 -1
4 -1
1 4
1 0

最初、唯一の駒である駒 11(1,2)(1,2) に置かれています。各操作により駒 11 の位置は (1,2)(2,1)(4,1)(1,4)(1,0)(1,2)\to(2,-1)\to(4,-1)\to(1,4)\to(1,0) と変化します。

2
1000000000 0
0 1000000000
4
3 -1000000000
4 -1000000000
3 1000000000
4 1000000000
2
4 1
4 2
5000000000 4000000000
4000000000 5000000000