#aBC199C. [ABC199C] IPFL

[ABC199C] IPFL

AT_abc199_c [ABC199C] IPFL

题目描述

有一个长度为 2N2N 的字符串 SS
现在对这个字符串进行 QQ 次操作。第 ii 次操作给出三个整数 Ti, Ai, BiT_i,\ A_i,\ B_i,请按如下方式处理:

  • Ti=1T_i = 1 时:交换 SS 的第 AiA_i 个字符和第 BiB_i 个字符。
  • Ti=2T_i = 2 时:交换 SS 的前半部分 NN 个字符和后半部分 NN 个字符(此时 Ai, BiA_i,\ B_i 的值不使用)。
    例如,当 SSFLIP 时,执行该操作后,SS 变为 IPFL

请按照给定顺序依次处理这 QQ 个操作,输出最终的字符串 SS

输入格式

输入按以下格式从标准输入读入。

NN SS QQ T1T_1 A1A_1 B1B_1 T2T_2 A2A_2 B2B_2 T3T_3 A3A_3 B3B_3  \hspace{21pt}\ \vdots TQT_Q AQA_Q BQB_Q

输出格式

请输出所有操作处理后的字符串 SS

输入输出样例 #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

说明/提示

限制条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • SS 是仅由大写英文字母组成的长度为 2N2N 的字符串
  • 1Q3×1051 \leq Q \leq 3 \times 10^5
  • TiT_i1122
  • Ti=1T_i = 1 时,1Ai<Bi2N1 \leq A_i < B_i \leq 2N
  • Ti=2T_i = 2 时,Ai=Bi=0A_i = B_i = 0

样例解释 1

11 次操作是将 SS 的前半部分 NN 个字符和后半部分 NN 个字符交换,因此 SS 变为 IPFL
22 次操作是将 SS 的第 11 个字符和第 44 个字符交换,因此 SS 变为 LPFI

由 ChatGPT 4.1 翻译