XH-BORDER-BELT. 边框传送带

提交1 通过1
通过率100%
时间限制1000ms
内存限制256MiB

题目描述

题目描述

小婷有一个 nn 行 mm 列的数字矩阵,第 ii 行第 jj 列的数字为 ai,ja_{i,j}。

小泽会对矩阵进行 qq 次操作。每次操作给出五个整数 x1,y1,x2,y2,kx_1,y_1,x_2,y_2,k,选中以 (x1,y1)(x_1,y_1) 为左上角、(x2,y2)(x_2,y_2) 为右下角的矩形边框,并让边框上的所有数字沿顺时针方向移动 kk 格。矩形内部不在边框上的数字不会移动。

例如,一个 33 行 44 列的矩形边框上,各位置沿顺时针方向的先后顺序为:

1  2  3  4
10       5
9  8  7  6

沿顺时针方向移动一格后会变成下面这样,原来位于编号 tt 的数字会移动到编号 t+1t+1 的位置,其中原来位于编号 1010 的数字会移动到编号 11 的位置:

10  1  2  3
9          4
8   7  6  5

请你帮助小婷和小泽输出全部操作结束后的矩阵。

输入格式

第一行,三个正整数 n,m,qn,m,q。

接下来 nn 行,每行 mm 个整数,其中第 ii 行第 jj 个整数为 ai,ja_{i,j}。

接下来 qq 行,每行五个整数 x1,y1,x2,y2,kx_1,y_1,x_2,y_2,k,描述一次操作。

输出格式

输出 nn 行,每行 mm 个整数,表示全部操作结束后的矩阵。

输入

4 5 2
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
1 2 4 5 1
2 1 3 4 2

输出

1 7 2 3 4
17 11 6 12 5
13 14 9 8 10
16 18 19 20 15

输入

2 2 3
1 2
3 4
1 1 2 2 1
1 1 2 2 2
1 1 2 2 3

输出

4 3
2 1

输入

3 4 5
1 2 3 4
5 6 7 8
9 10 11 12
1 1 3 4 1
1 2 3 4 7
1 2 2 3 100
2 2 3 4 6
1 1 3 4 1000000000000000000

输出

5 2 3 4
9 1 7 8
10 6 11 12

说明/提示

样例 11 说明:

第一次操作结束后,矩阵变为:

1  7  2  3  4
6  12 8  9  5
11 17 13 14 10
16 18 19 20 15

第二次操作再对以 (2,1)(2,1) 为左上角、(3,4)(3,4) 为右下角的边框顺时针移动 22 格,矩阵变为:

1  7  2  3  4
17 11 6  12 5
13 14 9  8  10
16 18 19 20 15

样例 22 说明:三次操作分别将整个边框顺时针移动 11 格、22 格和 33 格,合计移动 66 格。这个 2×22\times 2 边框的长度为 44,所以最终效果相当于顺时针移动 22 格。

样例 33 说明:输入有可能超过 3232 位整数类型范围。

数据范围

对于 100%100\% 的数据:2≤n,m≤10002\le n,m\le 1000,1≤q≤10001\le q\le 1000,0≤ai,j≤1090\le a_{i,j}\le 10^9,1≤k≤10181\le k\le 10^{18}。

本题共 2020 个测试点,每个测试点 55 分。各测试点的数据范围如下:

测试点编号 n≤n\le m≤m\le q≤q\le k≤k\le
1∼31\sim 3 22 22 10001000 33
4∼64\sim 6 10001000 mm
7∼107\sim 10 10001000 11
11∼1411\sim 14 100100
15∼2015\sim 20 10001000 101810^{18}

保证 1≤x1<x2≤n1\le x_1<x_2\le n 且 1≤y1<y2≤m1\le y_1<y_2\le m。