Czy macierz jest magiczna?

Zadanie 5 z 14 · rozdział 13Trudność: 2 z 3macierzesumawarunki

Treść zadania

Wczytaj macierz kwadratową n×n z dodatnimi liczbami całkowitymi. Sprawdź, czy jest kwadratem magicznym, czyli czy suma każdego wiersza, każdej kolumny oraz obu przekątnych jest taka sama.

Dane wejściowe

  • 1. linia: n
  • następnie n linii po n liczb oddzielonych spacjami

Dane wyjściowe

Jedno słowo: Prawda, jeśli macierz jest kwadratem magicznym, w przeciwnym razie Fałsz.

Ograniczenia

  • 1 ≤ n ≤ 10

Uwagi

  • Sprawdzamy wyłącznie sumy — liczby w macierzy nie muszą być różne (np. macierz 2×2 z samymi dwójkami jest kwadratem magicznym).
  • Pamiętaj o drugiej przekątnej (od prawego górnego do lewego dolnego rogu) — macierz może mieć równe sumy wierszy, kolumn i jednej przekątnej, a mimo to nie być magiczna.
  • Macierz 1×1 jest kwadratem magicznym.

Przykład

Wejście
3
6 7 2
1 5 9
8 3 4
Wyjście
Prawda
Zasady obowiązujące w rozdziale 13

Zadania w tym rozdziale ćwiczą pracę z listami dwuwymiarowymi (macierzami): tworzenie, wczytywanie, przechodzenie po wierszach i kolumnach oraz przekształcanie.
Każde zadanie (oraz każdy podpunkt) jest osobnym, niezależnym programem: czyta standardowe wejście (stdin) i wypisuje wynik na standardowe wyjście (stdout).

Konwencje wspólne:

  • Dane wczytuj dokładnie w kolejności podanej w sekcji Wejście.
  • Wiersz macierzy na wejściu to jedna linia z liczbami oddzielonymi spacjami — wczytaj całą linię i rozbij ją po spacjach (input().split()).
  • W wyjściu macierzy: każdy wiersz w osobnej linii, elementy oddzielone pojedynczą spacją.
  • Program nie wypisuje komunikatów typu „Podaj liczbę:”.

Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.

Python uruchomi się w przeglądarce przy pierwszym teście.

Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.

Testy

Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.

Test 1

Nie uruchomiono
Wejście
2
1 2
3 4
Oczekiwane wyjście
Fałsz

Test 2

Nie uruchomiono
Wejście
1
5
Oczekiwane wyjście
Prawda

Test 3

Nie uruchomiono
Wejście
4
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
Oczekiwane wyjście
Prawda

Test 4

Nie uruchomiono
Wejście
3
1 2 3
2 3 1
3 1 2
Oczekiwane wyjście
Fałsz

Test 5

Nie uruchomiono
Wejście
2
2 2
2 2
Oczekiwane wyjście
Prawda

Test 6

Nie uruchomiono
Wejście
2
1 5
2 4
Oczekiwane wyjście
Fałsz

Test 7

Nie uruchomiono
Wejście
3
2 7 6
9 5 1
4 3 8
Oczekiwane wyjście
Prawda
Uruchom z własnymi danymi