螺旋矩陣

螺旋矩陣

中等

簡介

在一座古老森林附近的小村莊裡,流傳著一個關於深埋在樹林裡的寶藏的傳說。 儘管人們嘗試了無數次,卻從來沒有人成功找到它。 不過,這一切即將改變,多虧了一位名叫 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

輸出的排列應該採用列優先順序:先放第一列的所有字組,再放第二列的所有字組,依此類推。

暫存器

Register Usage Type Description
$a0 輸入 整數 大小
$a1 輸入/輸出 位址 以列優先順序排列的字組矩陣
$v0 輸出 整數 矩陣中字組的數量
$t0-9 暫時 任意 供暫時儲存使用
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
MIPS Assembly Exercism

準備好開始 螺旋矩陣 了嗎?

註冊 Exercism,透過 70 個練習 和真人引導來學習並精通 MIPS Assembly,全部免費。