0152. Магический квадрат

Имя входного файла: square.in
Имя выходного файла: square.out
Ограничение по времени: 3 s
Ограничение по памяти: 32 megabytes

Пусть есть квадратная матрица n*n, заполненная различными натуральными числами от 1 до n*n. Она является магическим квадратом в том случае, если все суммы всех её элементов по строкам равны между собой (например, равны некоторому s), суммы её элементов по всем столбцам также равны s. Если также суммы всех элементов обоих диагоналей равны s, то такой квадрат является классическим. Ваша задача - сгенерировать любой классический магический квадрат со стороной n.

Формат входного файла

Во входном файле находится одно число n ≤ 2003.

Формат выходного файла

В выходной должны быть выведены n строк, по n чисел в каждой (через пробел) такие, чтобы они образовывали классический магический квадрат. Если классический магический квадрат для заданного n построить невозможно, то выведите в выходной файл единственное число 0.

Пример:

square.insquare.out
3 2 7 6 9 5 1 4 3 8


Источник: Petrozavodsk Summer 2003. Petrozavodsk SU Contest #2, Friday, August 29

Обсудить       Отправить решение



Версия для печати