AT_past202005_i 行列操作
题目描述
有一个满足以下条件的一个 $n \times n$ 的矩阵 $a$。若将该数列上起第 $i$ 行,左起第 $j$ 列上的数记为 $a_{i,j}$,则:
- 当 $1 \le i,j \le n$ 时,$a_{i,j}=n \times (i-1)+j-1$。
输入格式
- `1 x y`:对于所有满足 $1 \le i \le n$ 的 $i$,交换 $a_{x,i}$ 与 $a_{y,i}$ 的值。
- `2 x y`:对于所有满足 $1 \le i \le n$ 的 $i$,交换 $a_{i,x}$ 与 $a_{i,y}$ 的值。
- `3`:转置矩阵 $a$,即对于所有满足 $1 \le i,j \le n$ 的 $i$ 和 $j$,将原来 $a_{i,j}$ 的值改为 $a_{j,i}$ 的值。
- `4 x y`:输出当前矩阵中 $a_{x,y}$ 的值并换行。
请注意,在进行 $1$ 操作和 $2$ 操作时,如果 $x=y$,则矩阵在操作后无变化。
输出格式
对于形如`4 x y`形式的操作,输出 $a_{x,y}$ 的值并换行。请注意, $32$ 位整数类型可能不适合。
说明/提示
**数据规模与约定**
对于全部测试点,数据保证:
- $1 \le n,q \le 10^5$;
- $1 \le x,y \le n$;
- 保证至少存在一个形如`4 x y`格式的查询;
- 输入中的所有数值均为整数。