4124: 字符串的重新拼接和构造
内存限制:1024 MB
时间限制:2.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
# String Formation
## 题目描述
小高有一个由小写英文字母组成的字符串 $S$。从这个字符串开始,他将按照以下过程生成一个新的字符串。该过程包含 $Q$ 个操作。在第 $i$ 个操作中 $( 1 \leq i \leq Q )$,会提供一个整数 $T_{i}$,具体含义如下:
- 如果 $T_{i} = 1$:反转字符串 $S$。
- 如果 $T_{i} = 2$:额外提供一个整数 $F_{i}$ 和一个小写英文字母 $C_{i}$。
- 如果 $F_{i} = 1$:在字符串 $S$ 的开头添加 $C_{i}$。
- 如果 $F_{i} = 2$:在字符串 $S$ 的末尾添加 $C_{i}$。
请帮助小高找出这个过程最终得到的字符串。
输入
## 输入格式
输入按以下格式从标准输入给出:
$S$
$Q$
$Query_1$
$\vdots$
$Query_Q$
在第3行到第$(Q+2)$行,$Query_i$ 是以下之一:
$1$ 表示 $T_i = 1$,
以及:$2$ $F_i$ $C_i$ 表示 $T_i = 2$。
输出
## 输出格式
输出最终得到的字符串。
样例输入 复制
a
4
2 1 p
1
2 2 c
1
样例输出 复制
cpa
提示
## 输入输出样例
### 输入样例1
```
a
4
2 1 p
1
2 2 c
1
```
### 输出样例1
```
cpa
```
### 输入样例2
```
a
6
2 2 a
2 1 b
1
2 2 c
1
1
```
### 输出样例2
```
aabc
```
### 输入样例3
```
y
1
2 1 x
```
### 输出样例3
```
xy
```
## 数据范围与提示
【 样例说明1】
将有 $Q = 4$ 个操作。初始时,$S$ 是 `a`。
- 操作 $1$:在 $S$ 的开头添加 `p`。$S$ 变成 `pa`。
- 操作 $2$:反转 $S$。$S$ 变成 `ap`。
- 操作 $3$:在 $S$ 的末尾添加 `c`。$S$ 变成 `apc`。
- 操作 $4$:反转 $S$。$S$ 变成 `cpa`。
因此,最终得到的字符串是 `cpa`。
【样例说明2】
将有 $Q = 6$ 个操作。初始时,$S$ 是 `a`。
- 操作 $1$:$S$ 变成 `aa`。
- 操作 $2$:$S$ 变成 `baa`。
- 操作 $3$:$S$ 变成 `aab`。
- 操作 $4$:$S$ 变成 `aabc`。
- 操作 $5$:$S$ 变成 `cbaa`。
- 操作 $6$:$S$ 变成 `aabc`。
因此,最终得到的字符串是 `aabc`。
【 数据范围】
- $1 \leq | S | \leq 10^{5}$
- $1 \leq Q \leq 2 \times 10^{5}$
## 题目来源
ABC158D