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.