AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P2529. 螺旋数字矩阵

中等通过率 57% · 提交 518 · 通过 295
模拟矩阵

小慕在家隔离时觉得无聊,便在纸上写数字打发时间。 他发明了一种玩法:给定数字个数n和行数m(0 < n < 999,0 < m < 999),从左上角的1开始,按顺时针螺旋向内填充,依次写下2、3、…、n,最终形成一个m行的矩阵。 小慕对这个矩阵有几个要求: 1. 每行的数字个数相同 2. 列数尽可能少 3. 填充时优先填满外层 4. 如果数字不够,用单个*号占位

提示:带虚线的词点一下有通俗解释。

输入描述

两个整数,空格隔开,依次表示n、m

输出描述

符合要求的唯一短阵

示例

示例 1

输入

9 4

输出

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

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
螺旋数字矩阵示例 (n=9, m=4) 1 2 3 4 5 6 7 8 * 数字 1→2→3→4→5→6→7→8 * 表示占位符 橙色箭头:螺旋方向
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「螺旋数字矩阵」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。