Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
WIPING21 - Macierzowe symetrie |
Zadanie eliminacyjne w konkursie WIPING2 organizowanym przez
Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie
Macierzowe symetrie
Macierzą symetryczną nazywamy taką macierz kwadratową, której każdy element jest równy elementowi leżącemu symetrycznie po drugiej stronie głównej przekątnej. Mówiąc bardziej formalnie, w macierzy takiej dla każdego i i j zachodzi równość: aij = aji. Macierz antysymetryczna to dla odmiany taka macierz kwadratowa, której każdy element jest równy elementowi leżącemu symetrycznie po drugiej stronie głównej przekątnej, ale ze zmieniony znakiem. Czyli dla każdego i i j zachodzi równość: aij = -aji.
Twoim zadaniem będzie sprawdzenie, czy podana ci macierz jest symetryczna, antysymetryczna albo też nie należy do żadnej z tych kategorii. W tym konkretnym przypadku przyjmiemy również dodatkowe założenie mówiące, że macierz, która jest jednocześnie symetryczna i antysymetryczna uznawana jest za symetryczną.
Przygotuj się więc do napisania programu, który otrzyma na wejściu:
- liczbę całkowitą n (0 < n <= 100) opisującą liczbę elementów w wierszu macierzy
- n2 liczb całkowitych stanowiących zawartość macierzy podawaną wiersz po wierszu
Twoim zadaniem jest wyprowadzenie na wyjście liczby:
- 1 jeśli macierz jest symetryczna
- -1 jeśli macierz jest antysymetryczna
- 0 jeśli macierz nie jest ani symetryczna, ani antysymetryczna
Wejście
Strumień liczb całkowitych, a których pierwsza (n) oznacza liczbę elementów w wierszu macierzy, a kolejne (jest ich n2) stanowią zawartość macierzy podawaną wierszami od lewej do prawej.
Wyjście
Jeden wiersz tekstu zawierający liczbę całkowitą o wartości:
- 1 - macierz na wejściu jest symetryczna
- -1 - macierz na wejściu jest antysymetryzna i nie jest symetryczna
- 0 - macierz na wejściu nie jest symetryczna i nie jest antysymetryczna
Przykład
Wejście:
2
1 3
3 1
Wyjście:
1
Informacje dodatkowe
-
program zostanie uruchomiony 10 razy dla różnych zestawów danych
-
każde poprawne rozwiązanie daje 10% punktacji zadania
-
zadanie ma wartość punktową 3,0
Dodane przez: | Sławomir Wernikowski |
Data dodania: | 2013-09-11 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 1000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | C CSHARP C++ 4.3.2 CPP C99 JAVA PAS-GPC PAS-FPC PERL PERL6 PHP PYTHON PYTHON3 PY_NBC RUBY |