#P1564. 2023.05.17-暑期实习-第一题-方格音游

2023.05.17-暑期实习-第一题-方格音游

题目描述

塔子哥最近沉迷于设计一个二维平面音游。

在我们所给的例子里,假设有24个方块,分为水平8个和垂直3个(如下表格所示)

当玩家点击一个亮起的方块时,它周围的所有方块都会高亮。为了实现这个互动功能,塔子哥提出了一个方块组的概念:一个方块的方块组是指在上下左右方向上紧挨着的所有方块和它自己。而且垂直方向上的方块是首尾相连的,但水平方向上的方块是首尾不连的。

比如,在48个方块中,方块0的方块组是“16 8 1 0”,方块10的方块组是“2 9 18 11 10”,方块23的方块组是“15 22 7 23”。如下图所示,为了方便理解,我们把最后一行方块复制一份到第一行,表示上下相连:

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

塔子哥想要当玩家点击某个方块时,这个方块的整个方块组都会亮起。为了实现这个互动功能,他想让你设计一个程序,它能实时得到某个方块的方块组。

输入描述

第一行输入为3个正整数 HH , VV (1H,V256 1\leq H,V \leq 256)和 MM (1M<H×V1 \leq M < H\times V ), HHVV 为方块盘的水平个数和垂直个数;

接下来 MM 行,每一行输入一个方块的 IDID ,方格 IDID 从0开始,不超过 H×V1H\times V - 1 如:

8 3 1
12

输出描述

输出对应的方格组,方格组内 IDID 以空格分隔,ID从上方起始,逆时针排列,输入的方格 IDID 放最后,如上例子对应的输出结果为: “4 11 20 13 12”

样例1

样例输入

12 4 1
21

输出

9 20 33 22 21

样例2

样例输入

16 4 2
0
21

样例输出

48 16 1 0
5 20 37 22 21