#ATarc153b. [ARC153B] Grid Rotations

[ARC153B] Grid Rotations

题目描述

有一个纵向 HH 行、横向 WW 列的网格。初始时,从上往下第 ii 行、从左往右第 jj 列的单元格上写有一个英文字母 Ai,jA_{i,j}

对这个网格进行 QQ 次操作。在第 ii 次操作中,将给出满足 1aiH11 \leq a_i \leq H-1, 1biW11 \leq b_i \leq W-1 的整数 aia_ibib_i,然后执行以下操作:

  • 在网格内定义四个矩形区域 R1R_1, R2R_2, R3R_3, R4R_4,定义如下:
    • 从上往下 aia_i 行、从左往右 bib_i 列的部分为 R1R_1
    • 从上往下 aia_i 行、从右往左 WbiW-b_i 列的部分为 R2R_2
    • 从下往上 HaiH-a_i 行、从左往右 bib_i 列的部分为 R3R_3
    • 从下往上 HaiH-a_i 行、从右往左 WbiW-b_i 列的部分为 R4R_4
  • R1R_1, R2R_2, R3R_3, R4R_4 每个区域分别旋转 180180 度。

这里,网格内矩形区域 RR180180 度旋转是指:将 RR 中从上往下第 ii 个、从左往右第 jj 个单元格上写的字符,移动到 RR 中从下往上第 ii 个、从右往左第 jj 个单元格上。也可以参考输入输出样例中的图示。

在完成全部 QQ 次操作后,请输出操作后网格的状态。

输入格式

输入通过标准输入按以下格式给出。

HH WW
A1,1 A1, WA_{1,1}\cdots\ A_{1,\ W}
\vdots
AH,1 AH, WA_{H,1}\cdots\ A_{H,\ W}
QQ
a1a_1 b1b_1
\vdots
aQa_Q bQb_Q

输出格式

设操作后单元格 (i,j)(i,j) 上写的字符为 Bi,jB_{i,j},则按以下格式输出操作后网格的状态。

B1,1 B1, WB_{1,1}\cdots\ B_{1,\ W}
\vdots
BH,1 BH, WB_{H,1}\cdots\ B_{H,\ W}

样例 1

输入

4 5
abcde
fghij
klmno
pqrst
1
3 3

输出

mlkon
hgfji
cbaed
rqpts

样例 2

输入

3 7
atcoder
regular
contest
2
1 1
2 5

输出

testcon
oderatc
ularreg

样例 3

输入

2 2
ac
wa
3
1 1
1 1
1 1

输出

ac
wa

说明/提示

约束条件

  • 2H, W2 \leq H,\ WHW5×105HW \leq 5 \times 10^5
  • Ai,jA_{i,j} 是英文字母
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1aiH11 \leq a_i \leq H - 1
  • 1biW11 \leq b_i \leq W - 1

样例解释 1

网格状态的变化如下图所示。

图示

样例解释 2

网格状态的变化如下图所示。

图示

样例解释 3

网格状态的变化如下图所示。

图示

翻译由 DeepSeek V3 完成