[BOJ 8604] Kwadrat magiczny

View as PDF

Submit solution

Points: 1
Time limit: 1.0s
Memory limit: 512M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

Bajtazar znalazł w swojej piwnicy bardzo stare pudełko. Gdy je otworzył, zobaczył wielką stertę tajemniczych tabliczek z wypisanymi na nich liczbami. Oto jedna z nich:</p>

Już po chwili Bajtazar zauważył, że jest to kwadrat magiczny! Każdy taki kwadrat jest bowiem tabelką rozmiaru $n \times n$, do której wpisano $n^2$ różnych liczb całkowitych dodatnich o tej własności, że suma liczb w każdym wierszu, w każdej kolumnie i na każdej z dwóch przekątnych jest taka sama. W powyższym kwadracie wszystkie wiersze, kolumny i przekątne sumują się do $74$.

Ucieszony tym odkryciem, Bajtazar zabrał się za przeglądanie innych tabliczek. Niestety na wielu z nich liczby były zatarte. Po dokładniejszych oględzinach zauważył, że zawsze brakuje zawartości pewnych $n$ pól, z których żadne dwa nie znajdują się w jednym wierszu ani w jednej kolumnie. Bajtazar uwielbia zagadki matematyczne, ale nie jest dobry w ich rozwiązywaniu. Czy potrafisz pomóc mu uzupełnić zawartości brakujących pól tak, aby tabliczka znów stanowiła kwadrat magiczny?

입력 형식

Pierwszy wiersz standardowego wejścia zawiera jedną liczbę całkowitą $n$ ($2 ≤ n ≤ 1\,000$), oznaczającą rozmiar kwadratu magicznego. Każdy z kolejnych $n$ wierszy zawiera po $n$ liczb całkowitych $a_{ij}$ ($ 0 ≤ a_{ij} ≤ 10^9$) pooddzielanych pojedynczymi odstępami; liczby $a_{11}, a_{12}, \dots a_{1n}$ reprezentują zawartość pierwszego wiersza tabelki, liczby $a_{21}, a_{22}, \dots a_{2n}$ zawartość drugiego wiersza itd. Dodatnie liczby $a_{ij}$ oznaczają zawartość poszczególnych pól kwadratu magicznego, a zera reprezentują pola, których wartości były zatarte.

출력 형식

Twój program powinien wypisać na standardowe wyjście $n$ wierszy, z których każdy powinien zawierać $n$ dodatnich liczb całkowitych nie większych niż $10^{18}$, pooddzielanych pojedynczymi odstępami. Liczby te mają reprezentować uzupełniony kwadrat magiczny z wejścia.</p>

Możesz założyć, że dane wejściowe będą tak skonstruowane, że uzupełnienie tabelki do kwadratu magicznego w opisany sposób będzie możliwe. Jeśli istnieje więcej niż jedna poprawna odpowiedź, Twój program może wypisać dowolną z nich.

예제 입력

4
0 35 34 4
32 0 7 29
8 30 31 0
33 3 0 36

예제 출력

1 35 34 4
32 6 7 29
8 30 31 5
33 3 2 36

Comments

There are no comments at the moment.