По заданному числу n постройте в форме улитки двумерный массив
размером n × n, заполненный числами от единицы до n². «Улиткой»
считается числовая спираль, начинающаяся в левом верхнем углу и
закручивающаяся по часовой стрелке.
Идём по матрице от левого верхнего угла, заполняя числами от 1
до n². Текущее направление храним в dir (0 — вправо, 1 — вниз,
2 — влево, 3 — вверх). На каждом шаге пытаемся шагнуть вперёд; если
следующая клетка выходит за границу или уже заполнена — поворачиваем
направо (dir = (dir + 1) % 4).
Одно число n (1 ≤ n ≤ 10).
Заполненный по спирали массив n² чисел, разделённых одним знаком пробела.
Ввод:
2
Вывод:
1 2
4 3
Ввод:
3
Вывод:
1 2 3
8 9 4
7 6 5
g++ -std=c++23 -O2 solution.cpp -o solution
./solutionПрограмма ждёт ввод с клавиатуры. Введи n и нажми Enter.
- Время: 1 сек
- Память: 64 МБ