Чтобы решить задачу, определим, какие шаги необходимо предпринять. Основная задача состоит в том, чтобы проанализировать результаты игр между Полиной и Алиной и выяснить, кто из них выиграл три партии подряд.
Шаг 1: Ввод данных
В начале необходимо получить количество оценок и сами результаты.
Шаг 2: Обработка результатов
Каждая запись содержит два числа:
- Первое число — это количество очков, набранных Алина.
- Второе число — это количество очков, набранных Полиной.
Чтобы определить победителя каждой партии, нужно сравнить эти два числа. Если первое число больше второго, то побеждает Алина, иначе — Полина.
Шаг 3: Подсчет последовательных побед
Необходимо создать счетчики для побед Полины и Алины. Мы будем отслеживать, сколько партий подряд выиграла каждая из них.
Шаг 4: Вывод результатов
Если одна из девочек выиграла три партии подряд, имя этой девочки добавляется в результирующий список. Затем мы сортируем имена в алфавитном порядке и выводим.
Пример кода на Python
Вот пример, как это можно реализовать в коде:
def check_consecutive_wins(results):
n = int(results[0]) # Первое значение - количество партий
games = results[1:] # Все последующие значения - результаты игр
# Инициализация переменных
ali_wins_streak = 0
pola_wins_streak = 0
ali_wins = False
pola_wins = False
for game in games:
score_a, score_p = map(int, game.split())
if score_a > score_p:
ali_wins_streak += 1
pola_wins_streak = 0 # Сбрасываем счетчик Полины
else:
pola_wins_streak += 1
ali_wins_streak = 0 # Сбрасываем счетчик Алины
# Проверяем условия на победу в 3 партии подряд
if ali_wins_streak >= 3:
ali_wins = True
if pola_wins_streak >= 3:
pola_wins = True
# Подготовка результатов
result_names = []
if ali_wins:
result_names.append("Алина")
if pola_wins:
result_names.append("Полина")
# Сортировка и вывод
result_names.sort()
return result_names
# Пример использования:
input_data = [
"5", # Количество партий
"21 15", # Результат 1
"21 14", # Результат 2
"21 20", # Результат 3
"18 21", # Результат 4
"21 15" # Результат 5
]
winners = check_consecutive_wins(input_data)
print(" ".join(winners))
Пояснения к коду
- Ввод данных: Сначала мы считываем количество партий и сами результаты.
- Проверка победителей: Для каждой партии мы определяем, кто победил, и обновляем счётчики для подряд выигранных партий.
- Условия выигрыша: Проверяем, есть ли три подряд выигранных партии у любой из девочек.
- Алфавитный порядок: Если одна из девочек выиграла три или более партии подряд, добавим её имя в финальный список и отсортируем его.
Этот код позволит вам автоматически определить, кто из девочек мог выиграть три партии подряд, и напечатать результаты в нужном формате.