#11170. 二维网格迁移

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Turing001

题目描述

给你一个 m 行 n 列的二维网格 grid 和一个整数 k。你需要将 grid 迁移 k 次。

每次「迁移」操作将会使网格元素往后移动一个位置,具体如下:

  • 位于 grid[i][n - 1] 的元素将会移动到 grid[i + 1][0]。如图,最右边元素移动到下一行第一个。
  • 位于 grid[m - 1][n - 1] 的元素将会移动到 grid[0][0]。如图,网格最后一个元素,移到网格最前面第一个位置。
  • 位于 grid[i][j] 的元素将会移动到 grid[i][j + 1]。如图,其他元素,往右移动一个位置。

请你返回 k 次迁移操作后最终得到的 二维网格。

输入格式

第一行,m和n,表示二维网格 grid 的行数和列数

接下来m行,二维网格 grid 的所有元素

最后一行,k,表示迁移次数

输出格式

迁移后的二维网格

样例

输入1:

3 3
1 2 3
4 5 6
7 8 9
1

输出1:

9 1 2
3 4 5
6 7 8

解释:

输入2:

4 4
3 8 1 9
19 7 2 5
4 6 11 10
12 0 21 13
4

输出2:

12 0 21 13
3 8 1 9
19 7 2 5
4 6 11 10

解释:

输入3:

3 3
1 2 3
4 5 6
7 8 9
9

输出3:

1 2 3
4 5 6
7 8 9

数据范围与提示

1 <= m <= 50

1 <= n <= 50

-1000 <= grid[i][j] <= 1000

0 <= k <= 100