100 atcoder#ABC199C. [ABC199C] IPFL

[ABC199C] IPFL

题目描述

長さ 2N 2N の文字列 S S があります。
この文字列に対して Q Q 個のクエリが与えられます。i i 番目のクエリでは 3 3 つの整数 Ti, Ai, Bi T_i,\ A_i,\ B_i が与えられるので、以下の処理をします。

  • Ti = 1 T_i\ =\ 1 のとき : S S Ai A_i 文字目と Bi B_i 文字目を入れ替える
  • Ti = 2 T_i\ =\ 2 のとき : S S の前半 N N 文字と後半 N N 文字を入れ替える(Ai, Bi A_i,\ B_i の値は用いない)
    例えば S S FLIP のときにこのクエリを処理すると、S S IPFL となる。

これら Q Q 個のクエリを与えられた順に全て処理した後の S S を出力してください。

输入格式

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

N N S S Q Q T1 T_1 A1 A_1 B1 B_1 T2 T_2 A2 A_2 B2 B_2 T3 T_3 A3 A_3 B3 B_3   \hspace{21pt}\ \vdots TQ T_Q AQ A_Q BQ B_Q

输出格式

クエリ処理後の S S を出力せよ。

题目大意

题目描述:

给你一个长度为 2N2N 的字符串,你将进行 QQ 次操作,操作分两种:

  • Ti=1T_i=1 将第 AiA_i 个字符与第 BiB_i 个字符进行交换。
  • Ti=2T_i=2 将前 NN 个字符移动到后 NN 个字符后面。

输出进行了 QQ 次操作后的字符串。

2
FLIP
2
2 0 0
1 1 4
LPFI
2
FLIP
6
1 1 3
2 0 0
1 1 2
1 2 3
2 0 0
1 1 4
ILPF

提示

制約

  • 1  N  2 × 105 1\ \le\ N\ \le\ 2\ \times\ 10^5
  • S S は長さ 2N 2N の英大文字のみからなる文字列
  • 1  Q  3 × 105 1\ \le\ Q\ \le\ 3\ \times\ 10^5
  • Ti T_i 1 1 または 2 2
  • Ti = 1 T_i\ =\ 1 のとき、1  Ai < Bi  2N 1\ \le\ A_i\ \lt\ B_i\ \le\ 2N
  • Ti = 2 T_i\ =\ 2 のとき、Ai = Bi = 0 A_i\ =\ B_i\ =\ 0

Sample Explanation 1

1 1 番目のクエリでは S S の前半 N N 文字と後半 N N 文字を入れ替えるため、S S IPFL となります。 2 2 番目のクエリでは S S 1 1 文字目と 4 4 文字目を入れ替えるため、S S LPFI となります。