旋转和交换

题目描述

噜噜 有一个 n×mn \times m 个格子的游戏板,每个格子上有一个圆片,如下图:

现在噜噜可以转动游戏板上的圆片,或者直接交换两个圆片的位置。

当两个相邻圆片之间能用各自的线连接的话,那么游戏结束后会获得 11 分,比如下面这个游戏结束,一共获得 55 分。

现在请你写一个程序帮助噜噜计算分数,不过噜噜不会告诉你最终的游戏板状态,只会告诉你最初的游戏板状态,以及他依次进行的 kk 次操作。

输入格式

第一行三个正整数 n,m,kn,m,k。 接着 nn 行,每行 mm 个正整数 vi,jv_{i,j},表示第 ii 行第 jj 列圆片的情况,如下图:

然后 kk 行,每行一个操作:

  • 11 xx yy:噜噜 将第 xx 行第 yy 列圆片顺时针转动 9090 度。

  • 22 xx yy:噜噜 将第 xx 行第 yy 列圆片逆时针转动 9090 度。

  • 33 x1x_1 y1y_1 x2x_2 y2y_2:噜噜 交换第 x1x_1 行第 y1y_1 列圆片与第 x2x_2 行第 y2y_2 列圆片的位置。

输出格式

一个整数表示游戏得分。

样例

1 2 3
4 4
1 1 1
2 1 2
3 1 1 1 2
1
3 4 2
7 3 9 1
2 11 5 9
15 10 3 13
3 1 1 2 1
1 1 2
7

提示

对于 40%40\% 数据:1xin101 \leq x_i \leq n \leq 101yim101 \leq y_i\leq m \leq 101k1021 \leq k \leq 10^{2}

对于 100%100\% 数据:1xin1021 \leq x_i \leq n \leq 10^21yim1021 \leq y_i\leq m \leq 10^2,,1k1041 \leq k \leq 10^{4}

相关