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`格式的查询; - 输入中的所有数值均为整数。