Matrix

Accepts: 171
Submissions: 350
Time Limit: 3000/1500 MS (Java/Others)
Memory Limit: 131072/131072 K (Java/Others)
问题描述
有一个$n$行$m$列的矩阵$(1 \leq n \leq 1000 ,1 \leq m \leq 1000 )$,在这个矩阵上进行$q $  $(1 \leq q \leq 100,000)$ 个操作:

1 x y: 交换矩阵$M$的第$x$行和第$y$行$(1 \leq x,y \leq n)$;
2 x y: 交换矩阵$M$的第$x$列和第$y$列$(1 \leq x,y \leq m)$;
3 x y: 对矩阵$M$的第$x$行的每一个数加上$y(1 \leq x \leq n,1 \leq y \leq 10,000)$;
4 x y: 对矩阵$M$的第$x$列的每一个数加上$y(1 \leq x \leq m,1 \leq y \leq 10,000)$;
输入描述
输入包含多组数据. 第一行有一个整数$T (1\leq T\leq 15)$, 表示测试数据的组数. 对于每组数据:
第一行输入3个整数$n$, $m$, $q$.
接下来的$n$行,每行包括$m$个整数,表示矩阵$M$。$(1 \leq M_{i,j} \leq 10,000),(1 \leq i \leq n,1 \leq j \leq m)$.
最后$q$行,每行输入三个整数$a(1 \leq a \leq 4)$, $x$, $y$。
输出描述
对于每组数据,输出经过所有$q$个操作以后的矩阵$M$。
输入样例
2
3 4 2
1 2 3 4
2 3 4 5
3 4 5 6
1 1 2
3 1 10
2 2 2
1 10
10 1
1 1 2
2 1 2
输出样例
12 13 14 15
1 2 3 4
3 4 5 6
1 10
10 1
Hint
建议使用scanf / printf 代替 cin / cout