#3237. IPFL

0

IPFL

IPFL

题目描述

我们有一个长度为 2N2N 的字符串 SS.
你需要对该字符串处理 QQ 次查询。
在第 ii 次查询中,给出三个整数 TiT_i、AiA_i 和 BiB_i,执行以下操作:

如果 Ti=1T_i = 1: 交换字符串 SS 中第 AiA_i 个和第 BiB_i 个字符; 如果 Ti=2T_i = 2: 交换 SS 的前 NN 个字符和后 NN 个字符(数值 AiA_i 和 BiB_i 不使用)。
例如,如果 SS 是 FLIPFLIP,此查询会使其变为 IPFLIPFL。

在按照给定顺序处理完所有 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。

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×1051 \le N \le 2 \times 10^5 SS 是一个长度为 2N2N 的由大写英文字母组成的字符串。 1≤Q≤3×1051 \le Q \le 3 \times 10^5 TiT_i 是 11 或 22。 如果 Ti=1T_i = 1, 1≤Ai<Bi≤2N1 \le A_i \lt B_i \le 2N。 如果 Ti=2T_i = 2, Ai=Bi=0A_i = B_i = 0。第 11 次查询将 SS 的前 NN 个字符和后 NN 个字符互换,使其变为 IPFLIPFL.
第 22 次查询交换 SS 的第 11 个和第 44 个字符,使其变为 LPFILPFI.

标签: AtCoder|abc199C

来源

AtCoder|abc199C