In un piccolo villaggio vicino a un'antica foresta, si raccontava la leggenda di un tesoro nascosto, sepolto in fondo al bosco. Nonostante i numerosi tentativi, nessuno era mai riuscito a trovarlo. Le cose, però, stavano per cambiare, grazie a una giovane esploratrice di nome Elara. Aveva scoperto un vecchio documento con le istruzioni per individuare il tesoro. Seguendo quelle istruzioni, Elara riuscì a disegnare una mappa che rivelava il percorso verso il tesoro.
Con sua sorpresa, il percorso formava una strana spirale in senso orario. Non c'era da stupirsi che nessuno fosse mai riuscito a trovare il tesoro prima! Con la mappa in mano, Elara si mette in viaggio per scoprire il tesoro nascosto.
Il tuo compito è restituire una matrice quadrata di una data dimensione.
La matrice va riempita con numeri naturali, a partire da 1 dall'angolo in alto a sinistra, aumentando in ordine spirale verso l'interno e in senso orario, come in questi esempi:
1 2 3
8 9 4
7 6 5
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
L'output va disposto in ordine per righe: tutte le parole nella prima riga, poi le parole nella seconda riga, e così via.
| Registro | Utilizzo | Tipo | Descrizione |
|---|---|---|---|
$a0 |
input | intero | dimensione |
$a1 |
input/output | indirizzo | matrice di parole, in ordine per righe |
$v0 |
output | intero | numero di parole nella matrice |
$t0-9 |
temporaneo | qualsiasi | per la memorizzazione temporanea |
Iscriviti a Exercism per imparare e padroneggiare MIPS Assembly con 70 esercizi e il mentoring di persone reali, tutto gratis.