Задание №24: Обработка символьных строк
Основные типы и прототипы задания №24:
Цепочки символов фиксированного типа
Замена запрещённых пар
Чередующиеся гласные и согласные
Условие задания
(А. Богданов) Передатчик непрерывно повторяющуюся последовательность XYZ, вставляя полезные сообщения, как только они появляются. Повторяющаяся последовательность XYZ может быть прервана на любой букве вставкой полезного сообщения. После передачи полезного сообщения продолжается передача XYZ со следующего (ещё не переданного) символа. Известно, что первый и последний символы полезных сообщений не мешают их обнаружению. Длина фрагмента повторяющейся последовательности XYZ – не менее трёх символов. Переданные данные сохранены в текстовом файле 24-275.txt, который состоит не более чем из 106 символов – заглавных латинских букв и цифр. Найдите максимальную длину полезного сообщения.
Пример: XYZXYZXYUSEFULLMESSAGEZXYZXYZXYAVERYUSEFULLMESSAGEZXYZXYZXYZ. Наибольшую длину (19) имеет полезное сообщение AVERYUSEFULLMESSAGE.
Пример: XYZXYZXYUSEFULLMESSAGEZXYZXYZXYAVERYUSEFULLMESSAGEZXYZXYZXYZ. Наибольшую длину (19) имеет полезное сообщение AVERYUSEFULLMESSAGE.
Ответ:
1339
Шаблон решения на Python
# === Задание 24: Обработка символьных строк ===
with open('24.txt') as f:
s = f.read().strip()
# Пример: замена запрещённых комбинаций разделителем
s = s.replace('XX', 'X X')
segments = s.split(' ')
print("Максимальная длина подходящего фрагмента:", max(len(sub) for sub in segments))