Wypisanie elementów macierzy spiralnie
Treść zadania
Wczytaj macierz n×m i wypisz jej elementy spiralnie, zgodnie z ruchem wskazówek zegara: zacznij od lewego górnego rogu, idź w prawo po pierwszym wierszu, potem w dół po ostatniej kolumnie, w lewo po ostatnim wierszu, w górę po pierwszej kolumnie i tak dalej, aż do odczytania wszystkich elementów.
Dane wejściowe
- 1. linia:
n m— liczba wierszy i kolumn (w jednej linii) - następnie
nlinii pomliczb całkowitych
Dane wyjściowe
Jedna linia: wszystkie elementy w kolejności spiralnej, oddzielone spacjami.
Ograniczenia
1 ≤ n, m ≤ 20
Uwagi
- Macierz nie musi być kwadratowa — sprawdź swój program także dla jednego wiersza i dla jednej kolumny.
Przykład
3 3 1 2 3 4 5 6 7 8 9
1 2 3 6 9 8 7 4 5
Potrzebujesz teorii?
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.
Przywrócono Twój zapisany kod.
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 uruchomiono2 3 1 2 3 4 5 6
1 2 3 6 5 4
Test 2
Nie uruchomiono3 2 1 2 3 4 5 6
1 2 4 6 5 3
Test 3
Nie uruchomiono1 1 42
42
Test 4
Nie uruchomiono1 4 1 2 3 4
1 2 3 4
Test 5
Nie uruchomiono4 1 5 6 7 8
5 6 7 8
Test 6
Nie uruchomiono3 4 1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 8 12 11 10 9 5 6 7
Test 7
Nie uruchomiono4 4 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16