Задание 24. Информатика. Досрочный экзамен 2022
- Просмотры: 54
- Изменено: 27 октября 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