1.2 Równowaga w pliku przykładowym

Matura pokazowa marzec 2022 - Matura z informatyki: arkusze krok po kroku (Python)

Zadanie 1.2 (3 pkt): plansza jest w równowadze, gdy białych i czarnych bierek jest tyle samo i są takie same (np. król i skoczek po obu stronach). Wystarczy porównać posortowane litery białych z posortowanymi literami czarnych zamienionymi na wielkie. Podaj liczbę plansz w równowadze i najmniejszą liczbę bierek (razem białych i czarnych) na takiej planszy. Dla pliku przykładowego: 6 4.

with open("szachy_przyklad.txt") as f:
    lines = [line.strip() for line in f]
boards = []
for k in range(0, len(lines) - 7, 9):  # 8 wierszy planszy, potem pusty wiersz
    boards.append(lines[k:k + 8])

# 1.2 równowaga: posortowane białe bierki = posortowane czarne zapisane wielkimi literami
balanced, fewest = 0, 64
for board in boards:
    pieces = "".join(board).replace(".", "")
    white = sorted(c for c in pieces if c.isupper())
    black = sorted(c.upper() for c in pieces if c.islower())
    if white == black:
        balanced = balanced + 1
        fewest = min(fewest, len(pieces))

print("1.2", balanced, fewest)

Ł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.