printРабочее место участника

printЗадачи

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

Ограничения: время – 200ms/500ms, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

013720
 –94 –211
12251932
3161023
Квадрат на этом рисунке обладает интересным магическим свойством. Выберите любое из чисел, вписанных в клетки квадрата, и обведите кружком. Вычерните все числа, стоящие в той же самой строке и столбце, что и выбранное число. Снова выберите число из еще не вычеркнутых или не обведенных чисел и обведите его кружком, и снова вычерните числа, стоящие в той же строке и столбце, что и выбранное во второй раз число. Проделайте эту процедуру в третий раз, получив третье число. Обведите кружком оставшееся четвертое число. Сложите все четыре числа, обведенных кружком. Их сумма будет равна 46. Сколько бы вы раз не повторяли эксперимент, сумма всегда будет одной и той же, равной 46 – сумме чисел на диагонали квадрата.
Таким свойством будет обладать любой квадрат, содержащий одинаковые числа в каждой строке. Но тогда секрет этого фокуса будет очевиден. Поэтому для показа данного фокуса используется магический квадрат, не содержаший одинаковых чисел.
Напишите программу, которая по числам, расположенным на главной диагонали квадрата, строит квадрат, обладающий указанным магическим свойством.
Во входном файле в первой строке содержится целое число `N` (`1\ <\ N\ ≤\ 100`) – размер квадрата, далее следует `N` строк; `(i+1)`-я строка (`1\ ≤\ i\ ≤\ N`) содержит одно целое число `a_"ii"` (`|a_"ii"|<1000`) – число, которое должно быть на главной диагонали магического квадрата. Все числа, расположенные на диагонали квадрата, различны.
В выходной файл вывести `N` строк по `N` целых чисел, разделенных пробелом – магический квадрат. Числа в квадрате не должны повторяться и не должны по абсолютному значению превосходить `10^6`. Если возможно несколько вариантов заполнения, то нужно вывести любой (один) из них.

Пример ввода

4
0
4
19
23

Пример вывода

0 13 7 20
-9 4 -2 11
12 25 19 32
3 16 10 23
loading