Znajdź błąd: wspólne wiersze
Treść zadania
Program z sekcji Kod startowy miał tworzyć planszę n×m wypełnioną zerami, a następnie wpisywać 1 w k pól podanych na wejściu. Niestety wypisuje zły wynik. Dla przykładu poniżej zamiast oczekiwanej planszy wypisuje:
1 1 0
1 1 0
1 1 0
Znajdź błąd i popraw program tak, aby działał zgodnie z opisem.
Dane wejściowe
- 1. linia:
n m— liczba wierszy i kolumn - 2. linia:
k— liczba pól do zaznaczenia - następnie
klinii:r c— numer wiersza i kolumny pola, liczone od 0
Dane wyjściowe
n linii po m liczb 0 lub 1 oddzielonych spacjami — plansza po zaznaczeniu pól.
Ograniczenia
1 ≤ n, m ≤ 100 ≤ k ≤ 20; to samo pole może zostać podane kilka razy
Uwagi
- Uruchom program i sprawdź, które pola zmieniają się po zaznaczeniu tylko jednego pola. Przyjrzyj się linii, która tworzy planszę.
- Pomocne może być wypisanie
plansza[0] is plansza[1]— operatorissprawdza, czy dwie nazwy wskazują na ten sam obiekt w pamięci.
Przykład
3 3 2 0 0 2 1
1 0 0 0 0 0 0 1 0
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 2 1 0 1
0 1 0 0
Test 2
Nie uruchomiono1 4 2 0 0 0 3
1 0 0 1
Test 3
Nie uruchomiono3 2 0
0 0 0 0 0 0
Test 4
Nie uruchomiono4 3 3 0 0 1 1 3 2
1 0 0 0 1 0 0 0 0 0 0 1
Test 5
Nie uruchomiono2 3 3 1 2 1 2 0 0
1 0 0 0 0 1
Test 6
Nie uruchomiono3 3 3 0 2 1 2 2 2
0 0 1 0 0 1 0 0 1
Test 7
Nie uruchomiono3 4 2 2 0 0 3
0 0 0 1 0 0 0 0 1 0 0 0