Matriz en espiral

Tiempo límite 2 s
Memoria límite 256 MB
Casos de prueba 12
Dificultad Medio Algoritmos
Mostrar (2) MatricesSimulación
Enviar solución

Puntos: 10

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Recorre una matriz de \(m \times n\) en espiral: parte en la esquina superior izquierda, avanza hacia la derecha, y cada vez que llegas al borde o a una celda ya visitada, giras en el sentido de las agujas del reloj. Imprime los valores en el orden del recorrido.

Entrada

La primera línea tiene \(m\) y \(n\) \((1 \le m, n \le 500)\) y siguen \(m\) líneas con \(n\) enteros \((|v| \le 100)\).

Salida

Una línea con los \(mn\) valores en orden de espiral.

Ejemplo 1

Entrada

3 3
1 2 3
4 5 6
7 8 9

Salida

1 2 3 6 9 8 7 4 5

Ejemplo 2

Entrada

3 4
1 2 3 4
5 6 7 8
9 10 11 12

Salida

1 2 3 4 8 12 11 10 9 5 6 7

Basado en el problema 54 de LeetCode, Spiral Matrix, adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.


Comentarios

No hay comentarios por el momento.