#2174. IPFL字符交换移动

IPFL字符交换移动

题面描述

题目描述:

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

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

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

输入格式

从标准输入中按以下格式给出:

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

样例 #1

样例输入 #1

2
FLIP
2
2 0 0
1 1 4

样例输出 #1

LPFI

样例 #2

样例输入 #2

2
FLIP
6
1 1 3
2 0 0
1 1 2
1 2 3
2 0 0
1 1 4

样例输出 #2

ILPF

数据范围与提示

数据范围与提示

【样例一说明】

第 1 个查询交换 S 的前 N 个字符和后N 个字符,使其变为 IPFL。

第 2 个查询交换 S 的第 1 个字符和第 4 个字符,使其变为 LPFI。

【约束条件】

1N2×1051≤N≤2×10^5

S 是一个长度为 2N 的字符串,仅由大写英文字母组成。

1Q3×1051≤Q≤3×10^5

Ti​是 1 或 2。

如果 Ti​=1,则 1Ai<Bi2N1≤A_i​<B_i​≤2N

如果 Ti​=2,则 Ai=Bi=0A_i​=B_i​=0