1. Plansza: algorytm w Pythonie
Matura maj 2024 - Matura z informatyki: arkusze krok po kroku (Python)
**Zadanie 1. Plansza** (arkusz maj 2024). Plansza ma \( n \) wierszy i \( m \) kolumn, \( A[i][j] = 1 \) to pole białe, a 0 czarne. Algorytm wypełnia tablicę `P` wiersz po wierszu: pole białe dostaje wartość pola po lewej albo pola powyżej (w pierwszym wierszu tylko z lewej, w pierwszej kolumnie tylko z góry), czarne zawsze `False`. W Pythonie tablica dwuwymiarowa to lista wierszy, a indeksy liczy się od 0: `A[0][0]` to lewy górny róg. Przykład liczy wynik dla planszy a) z rysunku. Uruchom krokowo i obserwuj, jak w podglądzie zmiennych zapełnia się `P`.
def result(A):
# algorytm z arkusza; w Pythonie wiersze i kolumny liczy się od 0, więc A[0][0] to lewy
# górny róg, a A[n - 1][m - 1] prawy dolny
n, m = len(A), len(A[0])
P = [[False] * m for i in range(n)]
P[0][0] = True
for i in range(n):
for j in range(m):
if A[i][j] == 0:
P[i][j] = False
elif i == 0 and j != 0:
P[i][j] = P[i][j - 1]
elif i != 0 and j == 0:
P[i][j] = P[i - 1][j]
elif i != 0 and j != 0:
P[i][j] = P[i][j - 1] or P[i - 1][j]
return P[n - 1][m - 1]
board_a = [[1, 1, 1], [0, 1, 0], [1, 1, 1]]
print(result(board_a))Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Matura z informatyki: arkusze krok po kroku·Zaloguj się, aby zapisać postęp na koncie.