Track
/
MIPS Assembly
MIPS Assembly
/
Esercizi
/
Matrice a spirale
Matrice a spirale

Matrice a spirale

Medio

Introduzione

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.

Istruzioni

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:

Esempi

Matrice a spirale di dimensione 3

1 2 3
8 9 4
7 6 5

Matrice a spirale di dimensione 4

 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.

Registri

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
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
MIPS Assembly Exercism

Vuoi iniziare Matrice a spirale?

Iscriviti a Exercism per imparare e padroneggiare MIPS Assembly con 70 esercizi e il mentoring di persone reali, tutto gratis.