0006. Двойная спираль
Имя входного файла: | spiral.in |
Имя выходного файла: | spiral.out |
Ограничение по времени: | 2 s |
Ограничение по памяти: | 64 megabytes |
Всем известна классическая олимпиадная задача - в клетки квадрата по спирали записать последовательные натуральные числа. Мы предлагаем вам решить похожую задачу - заполнить квадрат целыми числами по двойной спирали (см. рисунок).
Ноль должен находиться в центре квадрата, положительные числа расположите по ветви, идущей вверх, а отрицательные - по ветви, идущей вниз. Спирали должны закручиваться как на рисунке, против часовой стрелки.
Формат входного файла
Входной файл содержит нечетное натуральное число N (1 ≤ N < 100) - длина стороны квадрата.
Формат выходного файла
В выходной файл выведите требуемую квадратную матрицу N*N с числами, занумерованными по двойной спирали, через пробел.
Пример:
spiral.in | spiral.out |
---|---|
3 | 2 1 -4 3 0 -3 4 -1 -2 |
5 | -8 -7 -6 -5 12 -9 2 1 -4 11 -10 3 0 -3 10 -11 4 -1 -2 9 -12 5 6 7 8 |
Источник: Командное школьное первенство Республики Карелия по программированию, май 2008.
Обсудить Отправить решение
Версия для печати