Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

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

(Время: 1 сек. Память: 16 Мб Сложность: 70%)
4 9 2
3 5 7
8 1 6

Магический квадрат - это квадратная таблица N x N, заполненная N2 числами от 1 до N2 таким образом, что сумма чисел в каждой строке, каждом столбце и на обеих диагоналях одинакова. При этом числа в таблице не должны повторяться и каждое из чисел от 1 до N2 должно в ней присутствовать.

Требуется написать программу, которая по заданному N строит магический квадрат.

Входные данные

Во входном файле INPUT.TXT задано единственное натуральное число N - размерность магического квадрата (N ≤ 1000).

Выходные данные

В выходной файл OUTPUT.TXT необходимо вывести магический квадрат - матрицу, состоящую из N строк по N элементов в каждой. Если вариантов решения несколько, то можно вывести любой. В том случае, когда решение не существует, следует вывести "Impossible".

Примеры

INPUT.TXTOUTPUT.TXT
111
22Impossible
334 9 2
3 5 7
8 1 6

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Введение
 Условный оператор
 Операторы цикла
 Строковые типы данных
 Массивы
 Функции
 Сортировка
 Двумерные массивы
 Рекурсия
 Базовые операции
 Символьные матрицы
 Целочисленные матрицы
 A. Сапер
 B. Художник
 C. Проверка на симпатичность
 D. Седловые точки
 E. Теория игр
 F. Судоку
 G. Спираль
 H. Змейка
 I. Винни-пух
 J. Матрица: Перезагрузка
 K. Магический квадрат

Красноярский краевой Дворец пионеров, (c)2006 - 2020, E-mail: admin@acmp.ru