Zadanie 1. Kosmiczny mecz (Próbna CKE 2023)

Matura 2023 - "Kosmiczny mecz" próbna CKE


Treść zadania

Dawno temu, w odległej galaktyce, rozegrano mecz w grę, która przypominała siatkówkę. W meczu wystąpiły dwie drużyny: drużyna A i drużyna B. Mecz składał się z 10 000 krótkich rozgrywek. Każda rozgrywka kończyła się wygraną jednej z dwóch drużyn, za którą zwycięska drużyna otrzymywała jeden punkt.

Plik mecz.txt zawiera zapis wyników kolejnych rozgrywek – jeden wiersz z napisem złożonym z 10 000 znaków A i B. Znak A oznacza, że rozgrywkę wygrała drużyna A, natomiast znak B – że rozgrywkę wygrała drużyna B.

Napisz program(-y) który(-e) znajdzie(-dą) odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku wyniki1.txt, a każdą z nich poprzedź numerem odpowiedniego zadania. Do dyspozycji masz plik mecz_przyklad.txt, spełniający warunki zadania – odpowiedzi dla tego pliku podano w treściach zadań. Możesz sprawdzać na nim działanie swojego programu.

W pliku pary.txt znajduje się 100 wierszy. Każdy wiersz zawiera parę danych składającą się z liczby całkowitej z przedziału od 3 do 100 i słowa (ciągu znaków) złożonego z małych liter alfabetu angielskiego o długości od 1 do 50 znaków. Liczba i słowo są oddzielone znakiem spacji.

Zadanie 1.1. (0–2)
Oblicz, ile razy nastąpiła sytuacja, w której rozgrywkę wygrała inna drużyna niż rozgrywkę poprzednią (tzn. dwa kolejne znaki A lub B w opisie meczu się różnią).

Przykład: Dla napisu ABBBABA odpowiedzią jest 4.
Natomiast dla pliku mecz_przyklad.txt odpowiedzią jest 1798
Odp.: 5030

Zadanie 1.2. (0–3)
Pierwszy set w meczu trwa do pierwszej rozgrywki, po której któraś z drużyn ma co najmniej 1000 punktów za wygranie dotychczasowych rozgrywek, natomiast drużyna przeciwna ma co najmniej 3 punkty mniej. Drużyna, która zdobywa w secie więcej punktów od przeciwnej, wygrywa pierwszego seta.

Przykład:
pierwszy set może się zakończyć wynikami: 1000:500, 997:1000, 1500:1497. Wyniki 900:100, 999:1000, 1500:1500 nie kończą seta.

Podaj, która drużyna wygrała pierwszego seta i jaki w tym momencie był wynik (liczba zwycięskich rozgrywek drużyny A i liczba zwycięskich rozgrywek drużyny B w pierwszym secie).

Dla pliku mecz_przyklad.txt odpowiedzią jest: A 1000:5 Odp.:B 1001:1004

Zadanie 1.3. (0–3)
Powiemy, że drużyna ma dobrą passę, jeśli wygrywa rozgrywki co najmniej 10 razy z rzędu. Każda dobra passa rozpoczyna się albo na początku meczu, albo bezpośrednio po przegranej rozgrywce. Każda dobra passa kończy się albo z końcem meczu, albo bezpośrednio przed przegraną rozgrywką.

Podaj łączną liczbę dobrych pass, które miały obie drużyny w meczu. Wyznacz długość najdłuższej dobrej passy i drużynę, która ją osiągnęła. Tylko jedna drużyna miała dobrą passę o tej długości.

Przykład:
Przykład: w meczu BBBBBBBBBBAABBAAAAAAAAAAABA mamy łącznie 2 dobre passy. Najdłuższą dobrą passę, o długości 11, osiągnęła drużyna A.

Odp. Dla pliku mecz_przyklad.txt odpowiedzią jest: 2 A 1000 (dwie dobre passy, najdłuższa drużyny A o długości 1000).
Odp. dla danych właściwych: 6 B 15