#P14493. [2025年广东省队集训]这是第二题

[2025年广东省队集训]这是第二题

题目描述

有一个 2n×2m2n \times 2m 的网格,第 ii 行第 jj 列记作坐标 (i,j)(i, j),行列编号均从 00 开始。

初始时 (i,j)(i, j) 格上有数字 2mi+j+12mi + j + 1,并以 2×22 \times 2 为单位进行黑白交替染色。以 n=2,m=3n = 2, m = 3 为例,下为初始网格:

$$\begin{array}{c} \mathbf{1} & \mathbf{2} & 3 & 4 & \mathbf{5} & \mathbf{6} \\ \mathbf{7} & \mathbf{8} & 9 & 10 & \mathbf{11} & \mathbf{12} \\ 13 & 14 & \mathbf{15} & \mathbf{16} & 17 & 18 \\ 19 & 20 & \mathbf{21} & \mathbf{22} & 23 & 24 \end{array}$$

其中加粗的格子即为被染为黑色的格子。注意一个格子的颜色与其上面的数字无关。

对网格进行 qq 次操作,每次操作为下列五个中的一个:

  1. 对每个 0j<m0 \leq j < m,交换 2j2j 列与 2j+12j + 1 列;
  2. 对每个 0j<m10 \leq j < m - 1,交换 2j+12j + 1 列 和 2j+22j + 2 列;
  3. 对每个 0i<n0 \leq i < n,交换 2i2i 行和 2i+12i + 1 行;
  4. 对每个 0i<n10 \leq i < n - 1,交换 2i+12i + 1 行与 2i+22i + 2 行;
  5. 对每个黑色 2×22 \times 2 小网格 $\begin{array}{c} \mathbf{x} & \mathbf{y} \\ \mathbf{z} & \mathbf{w} \end{array}$,变换为 $\begin{array}{c} \mathbf{z} & \mathbf{x} \\ \mathbf{w} & \mathbf{y} \end{array}$,对每个白色 2×22 \times 2 小网格 xyzw\begin{array}{c} x & y \\ z & w \end{array},变换为 ywxz\begin{array}{c} y & w \\ x & z \end{array}

给定每次操作,求最终网格上每个位置的数字。

输入格式

第一行输入 n,m,qn, m, q

第二行输入 qq 个整数,第 ii 个整数 xix_i 表示第 ii 次操作为第几个操作。

输出格式

输出 2n2n 行每行 2m2m 个整数,表示最终网格。

输入样例1

2 3 5
3 1 4 2 5

输出样例1

20 8 12 24 21 9
22 10 7 19 23 11
4 16 13 1 5 17
2 14 18 6 3 15

数据范围

对所有测试点,保证 1n,m,q1061 \leq n, m, q \leq 10^6nm106nm \leq 10^6xi5x_i \leq 5

  • 子任务 1(20 分):xi{1,3,5}x_i \in \{1, 3, 5\}
  • 子任务 2(20 分):xi{1,2}x_i \in \{1, 2\}
  • 子任务 3(20 分):xi{1,2,3,4}x_i \in \{1, 2, 3, 4\}
  • 子任务 4(40 分):无特殊限制。