Табло на тренировке по настольному теннису

тема: Разбор случаев · уровень: средний

Условие

На школьной тренировке по настольному теннису играют один гейм: игрок A против игрока B.

Секретарь записал результаты розыгрышей подряд. Каждый розыгрыш выигрывает либо A, либо B.

Правила окончания гейма такие:

Запись может быть длиннее, чем нужно: после окончания гейма лишние символы в записи игнорируются.

Нужно понять, закончился ли гейм в пределах записи, и если да — на каком розыгрыше.

Формат ввода

Формат вывода

W a b k, где W — победитель (A или B), a — очки A, b — очки B в момент окончания гейма.

INCOMPLETE a b, где a и b — текущие очки после всех n розыгрышей.

Ограничения

Пример Ввод:

18
ABABABAAABAAABABBA

Вывод:

A 11 7 18

Разберись руками

Есть запись из 18 розыгрышей: каждый символ — кто взял очко. Твоя цель на этом примере — руками понять, закончился ли гейм и на каком розыгрыше, а если закончился — какой счёт был в этот момент.

Идея: Идём по записи слева направо и ведём счёт очков A и B. После каждого розыгрыша проверяем: кто-то уже набрал нужное количество очков и есть ли преимущество минимум в 2; если да — фиксируем победителя, счёт и номер розыгрыша, а остальные символы больше не важны.

Решить задачу с автопроверкой на Python →

Куда дальше