#4082. 快乐的马里奥

快乐的马里奥

题目描述

马里奥是一个快乐的油漆工人,这天他接到了一个油漆任务:

他要将一个 nnmm 列的矩阵的每一个格子都用油漆标记一个数字。标记方式是广度优先搜索(BFS),具体规则如下:

  1. 从矩阵的第 11 行第 11 列的单元格开始标记,标记值为 1

  2. 然后依次标记该格子上下左右四个方向中可以标记的格子,具体规则如下:

    • 标记顺序按照 右 → 下 → 左 → 上
    • 不允许标记出矩阵边界;
    • 已被标记过的格子不能重复标记。
  3. 当当前格子四周标记完成后,继续寻找标记值比当前格子大 1 的格子,重复步骤 2。

  4. 直到所有格子都被标记。


输入格式

输入包含两个整数 nnmm,表示矩阵的行数和列数。

  • 2<n,m1002 < n, m \leq 100

输出格式

输出一个 n×mn \times m 的矩阵,表示马里奥的标记结果。

  • 每个数字后输出一个空格;
  • 每行输出完毕后换行。

输入样例

3 3

✅ 输出样例

1 2 4 
3 5 7 
6 8 9 

🔎 说明

比如:如果有一个 3×3的矩阵如下,那么首先标记 1,1 单元格,并按照上面步骤 2的要求标记其四周能够标记的单元格,标记结果如下:

第一步(标记 1 的四周):

第二步(标记 2 的四周):

第三步(标记 3 的四周):

第四步(标记 4 的四周):

第五步(标记 5 的四周):

全部格子已标记完毕。