Задание 24. Информатика. Досрочный экзамен 2022

Просмотры: 88
Изменено: 22 ноября 2024

Текстовый файл состоит не более чем из \(10^6\) символов \(A\), \(B\) и \(C\).

Определите максимальное количество идущих подряд пар символов \(AB\) или \(AC\). Искомая подстрока может включать только пары \(AB\), только пары \(AC\) или содержать одновременно как пары \(AB\), так и пары \(AC\).

Для выполнения этого задания следует написать программу.

Файл с данными

Решение:

Python


f = open('24.txt')
s = f.readline()
length = len(s)
pair_count = int(s[0:2] == 'AB' or s[0:2] == 'AC')
i = 3 if pair_count else 2
max_n = pair_count

while i < length:
    if pair_count:
        if s[i-1:i+1] == 'AB' or s[i-1:i+1] == 'AC':
            pair_count += 1
            i += 2
        else:
            i += 1
            max_n = max(max_n, pair_count)
            pair_count = 0
    else:
        pair_count = int(s[i-1:i+1] == 'AB' or s[i-1:i+1] == 'AC')
        i += pair_count + 1
print(max_n)

Ответ: 19