CF222B Cosmic Tables
题目描述
给定一个 $n\times m$ 的矩阵与 $k$ 次操作,每次操作有以下三种类别:
- 交换第 $x_i$ 列与第 $y_i$ 列;
- 交换第 $x_i$ 行与第 $y_i$ 行;
- 查询位于第 $x_i$ 行第 $y_i$ 列的数。
输入格式
输入的第一行有三个整数 $n,m,k$ ( $1\le n,m\le 10^3$ , $1\le k\le 10^5$),分别表示该矩阵的行数、列数与操作个数。
接下来 $k$ 行,每行输入一个字符 $s_i$ ( $s_i$ 只会是 "c","r","g" 中的一个 ) 与两个整数 $x_i,y_i$ ( $1\le x_i\le n,y_i\le m$ )。
- 若 $s_i$ 为 "c",则交换第 $x_i$ 列与第 $y_i$ 列 ( 保证 $x_i \ne y_i$ );
- 若 $s_i$ 为 "r",则交换第 $x_i$ 行与第 $y_i$ 行 ( 保证 $x_i \ne y_i$ );
- 若 $s_i$ 为 "g",则查询此时位于第 $x_i$ 行第 $y_i$ 列的数。
输出格式
对于每个 $s_i=$ "g",输出查询的结果。
Translated by $\operatorname{Rosmarinus}$.
说明/提示
Let's see how the table changes in the second test case.
After the first operation is fulfilled, the table looks like that:
2 1 4
1 3 5
After the second operation is fulfilled, the table looks like that:
1 3 5
2 1 4
So the answer to the third query (the number located in the first row and in the third column) will be 5.