螺旋矩阵

螺旋矩阵

中等

简介

在一座靠近古老森林的小村庄里,流传着一个传说:森林深处埋藏着宝藏。 尽管人们尝试了无数次,却始终没有人能找到它。 不过,这一切即将改变,多亏了一位名叫 Elara 的年轻探险家。 她发现了一份古老的文献,上面记载着如何找到宝藏的指示。 按照这些指示,Elara 画出了一张地图,标出了通往宝藏的路线。

令她惊讶的是,这条路线的走向是一条奇特的顺时针螺旋。 难怪以前没有人能找到宝藏! 带着这张地图,Elara 踏上了寻找宝藏的旅程。

说明

你的任务是返回一个给定大小的方阵。

矩阵需要用自然数填充,从左上角的 1 开始,按顺时针方向向内螺旋递增,如下面的示例所示:

示例

大小为 3 的螺旋矩阵

1 2 3
8 9 4
7 6 5

大小为 4 的螺旋矩阵

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

输出应按照行主序排列:先是第一行中的所有字,然后是第二行中的所有字,依此类推。

寄存器

寄存器 用途 类型 描述
$a0 输入 整数 大小
$a1 输入/输出 地址 按行主序排列的字矩阵
$v0 输出 整数 矩阵中字的数量
$t0-9 临时 任意 用于临时存储
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
MIPS Assembly Exercism

准备好开始 螺旋矩阵 了吗?

注册 Exercism,借助 70 个练习 和真人导师指导,学习并掌握 MIPS Assembly,全部免费。