Tracks
/
MIPS Assembly
MIPS Assembly
/
Ejercicios
/
Matriz en espiral
Matriz en espiral

Matriz en espiral

Intermedia

Introducción

En una pequeña aldea cerca de un bosque antiguo, existía la leyenda de un tesoro escondido enterrado en lo profundo del bosque. A pesar de numerosos intentos, nadie había logrado encontrarlo. Sin embargo, esto estaba a punto de cambiar gracias a una joven exploradora llamada Elara. Había descubierto un antiguo documento con instrucciones sobre cómo localizar el tesoro. Con estas instrucciones, Elara pudo dibujar un mapa que revelaba el camino hacia el tesoro.

Para su sorpresa, el camino seguía una peculiar espiral en el sentido de las manecillas del reloj. ¡No era de extrañar que nadie hubiera podido encontrar el tesoro antes! Con el mapa en la mano, Elara emprende su viaje para descubrir el tesoro escondido.

Instrucciones

Tu tarea consiste en devolver una matriz cuadrada de un tamaño dado.

La matriz debe llenarse con números naturales, empezando por el 1 en la esquina superior izquierda y avanzando hacia adentro en orden de espiral, en el sentido de las manecillas del reloj, como en estos ejemplos:

Ejemplos

Matriz en espiral de tamaño 3

1 2 3
8 9 4
7 6 5

Matriz en espiral de tamaño 4

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

El resultado debe estar ordenado en orden por filas: todas las palabras de la primera fila, luego las palabras de la segunda fila, y así sucesivamente.

Registros

Registro Uso Tipo Descripción
$a0 entrada entero tamaño
$a1 entrada/salida dirección matriz de palabras, en orden por filas
$v0 salida entero número de palabras de la matriz
$t0-9 temporal cualquiera para almacenamiento temporal
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
MIPS Assembly Exercism

¿Todo listo para empezar Matriz en espiral?

Regístrate en Exercism para aprender y dominar MIPS Assembly con 70 ejercicios y mentoría humana real, todo gratis.