#2036. [ABC158D] String Formation

[ABC158D] String Formation

题目描述

一开始有一个只包含小写字母的字符串 SS

接下来要执行 QQ 次操作,对于每次操作,输入一个 TiT_i

  • 如果 Ti=1T_i=1,将 SS 翻转。
  • 如果 Ti=2T_i=2,再给定一个数 FiF_i 和一个小写字母 CiC_i
    • 如果 Fi=1F_i=1,将 CiC_i 加在 SS 的开头。
    • 如果 Fi=2F_i=2,将 CiC_i 加在 SS 的末尾。

输出所有操作结束后的字符串 SS

输入格式

第一行输入一个字符串 S S

第二行输入一个数字 Q Q

接下来 QQ 行,每行先输入一个数字 TT 代表查询的类型。

  • T=1T=1,代表翻转字符串。
  • 如果 T=2T=2,再给定一个数 FF 和一个小写字母 CC
    • 如果 F=1F=1,将 CC 加在 SS 的开头。
    • 如果 F=2F=2,将 CC 加在 SS 的末尾。

输出格式

输出最终字符串的内容

a
4
2 1 p
1
2 2 c
1
cpa
a
6
2 2 a
2 1 b
1
2 2 c
1
1
aabc
y
1
2 1 x
xy

样例 1 解释

将有 Q=4Q = 4 次操作。最初, SSa

  • 操作 11 :在 SS 的开头加上 pSS 变成了 pa
  • 操作 22 :逆转 SS . SS 变成 ap.
  • 操作 33 :在 SS 结尾添加 cSS 变成 apc
  • 操作 44 :逆转 SS . SS 变成 cpa

因此,得到的字符串是 cpa

样例 2 解释

将有 Q=6Q = 6 次操作。最初, SSa

  • 操作 11SS 变成了 aa
  • 操作 22SS 变成 baa
  • 操作 33SS 变成了 aab
  • 操作 44SS 变成了 aabc
  • 操作 55SS 变成 cbaa
  • 操作 66SS 变成 aabc

因此,得到的字符串是 aabc

提示

  • 1  S  105 1\ \leq\ |S|\ \leq\ 10^5
  • S S 仅由小写字母构成
  • 1  Q  2 × 105 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5
  • Ti = 1 T_i\ =\ 1 2 2
  • Fi = 1 F_i\ =\ 1 2 2
  • Ci C_i 是一个小写字母