#B3977. [语言月赛 202405] 更好的交换

    ID: 9862 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 2 Uploaded By: Tags>2024O2优化数组语言月赛

[语言月赛 202405] 更好的交换

题目描述

小 S 有一个奇怪的机关拼图。这个拼图可以看作一个 nnnn 列的方阵 AA,第 ii 行第 jj 列的位置上有一个正整数 Ai,jA_{i, j}

与寻常拼图不同的是,这个机关拼图上的数字不能随意移动,必须按照如下规则之一操作:

  • 选择拼图上的第 xx 行和第 yy 行,交换这两
  • 选择拼图上的第 xx 列和第 yy 列,交换这两

为了复原这个拼图,小 S 将会操作共 mm 次,每次操作格式如下:

  • 1 x y,表示交换第 xx 行和第 yy 行;
  • 0 x y,表示交换第 xx 列和第 yy 列;

请你输出复原后的拼图。

输入格式

第一行,两个正整数 nnmm,分别表示拼图的行数、列数和总操作次数。
接下来 nn 行,每行 nn 个正整数 Ai,jA_{i, j},表示拼图上第 ii 行,第 jj 列上的数字。
接下来 mm 行,每行三个正整数 op,x,yop, x, y,其中 opop 表示操作类型,x,yx, y 代表被操作的行号或列号。

输出格式

输出共 nn 行,每行 nn 个正整数,表示复原后的拼图。

3 2
4 5 6
3 2 1
9 8 7
0 2 3
0 2 2

4 6 5 
3 1 2 
9 7 8

3 2
11 12 13
21 22 23
31 32 33
1 2 3
0 2 3

11 13 12 
31 33 32 
21 23 22

4 4               
12 32 42 82
53 43 34 98
90 32 42 53
37 17 88 10
0 2 4
1 2 4
0 1 4
1 1 3

32 53 42 90 
17 10 88 37 
32 82 42 12 
43 98 34 53

提示

样例 1 解释

第一次操作,交换了第 22 列和第 33 列;第二次操作,没有发生变化。

样例 2 解释

第一次操作,交换第 22 行和第 33 行,拼图变为:

$$\begin{aligned} 11 \ 12 \ 13\\ \textcolor{red}{31 \ 32 \ 33}\\ \textcolor{blue}{21 \ 22 \ 23} \end{aligned} $$

第二次操作,交换第 22 列和第 33 列,拼图变为:

$$\begin{aligned} 11 \ \textcolor{red}{13} \ \textcolor{blue}{12} \\ 31 \ \textcolor{red}{33} \ \textcolor{blue}{32} \\ 21 \ \textcolor{red}{23} \ \textcolor{blue}{22} \end{aligned} $$

数据范围

对于前 30%30 \% 的数据,保证每一行数字相同;
对于前 60%60 \% 的数据,保证 1m3×1031 \leq m \leq 3 \times 10^3
对于 100%100 \% 的数据,保证 $1 \leq m \leq 10^6, 1 \leq n, A_{i, j} \leq 10^3, 1 \leq x, y \leq n$,0op10 \leq op \leq 1