AT_past202209_n 上からと横から
题目描述
给定一个有 $H$ 行 $W$ 列的网格,第 $i$ 行第 $j$ 列的格子上写有一个小写英文字母 $a_{i,j}$。此外,给你一个初始为空的字符串 $S$。
请依次处理 $Q$ 个查询,并在所有查询处理结束后输出最终的 $S$。
每次查询有两种类型之一:
- `1 p c`:将第 $p$ 行的第 $W$ 列字符 $a_{p,W}$ 添加到字符串 $S$ 的末尾,然后将本行所有字符整体右移一位,最左端(第 $1$ 列)赋值为 $c$,即 $a_{p,1}=c$,$a_{p,2}=a_{p,1}$,$a_{p,3}=a_{p,2}$,依此类推,最后 $a_{p,W}=a_{p,W-1}$。所有赋值操作同步执行。
- `2 p c`:将第 $H$ 行的第 $p$ 列字符 $a_{H,p}$ 添加到字符串 $S$ 的末尾,然后将本列所有字符整体下移一位,最上端(第 $1$ 行)赋值为 $c$,即 $a_{1,p}=c$,$a_{2,p}=a_{1,p}$,$a_{3,p}=a_{2,p}$,依此类推,最后 $a_{H,p}=a_{H-1,p}$。所有赋值操作同步执行。
输入格式
输入以如下格式给出:
```
H W Q
a_{1,1}a_{1,2}... a_{1,W}
a_{2,1}a_{2,2}... a_{2,W}
⋮
a_{H,1}a_{H,2}... a_{H,W}
query_1
query_2
⋮
query_Q
```
每次查询为如下两种格式之一:
```
t p c
```
其中 $1 \leq t \leq 2$,$t$、$p$ 均为整数,$c$ 是小写英文字母。
输出格式
所有 $Q$ 次查询处理完毕后,输出最终得到的字符串 $S$。
说明/提示
### 样例解释 1
网格变化如下:
```
ab
cd
```
经过第一次操作,变成:
```
ab
xc
```
再次变更,变成:
```
yb
ac
```
$S$ 变为 `dx`,应输出 `dx`。
### 数据范围
- $1 \leq H, W \leq 2 \times 10^5$
- $1 \leq H \times W \leq 2 \times 10^5$
- $1 \leq Q \leq 2 \times 10^5$
- $H$、$W$、$Q$ 为整数
- $a_{i,j}$ 是小写英文字母
- 每次查询的格式均为题目所述两种之一
- 对于每个第 $1$ 类查询,$1 \leq p \leq H$,$p$ 是整数,$c$ 是小写英文字母
- 对于每个第 $2$ 类查询,$1 \leq p \leq W$,$p$ 是整数,$c$ 是小写英文字母
由 ChatGPT 5 翻译