Задача к ЕГЭ по информатике на тему «поиск максимальной подстроки» №14

Текстовый файл состоит не более чем из 106  заглавных букв латинского алфавита. Найдите длину максимальной последовательности символов, которая не содержит подряд идущих повторяющихся троек символов. Для строки GBCABCA  искомая длина равна 6  (GBCABC   )  , для строки ABCABC  искомая длина равна 5  (ABCAB   )  , для строки GBCAF  BCA  искомая длина равна 8  (GBCAF   BCA )  .

Для выполнения этого задания следует написать программу. Воспользуйтесь файлом «Задание_23_ДЗ». В ответе запишите искомую длину.

# Читаем содержимое файла
f = open("Задание_23_ДЗ__tcgb.txt").read()

# Инициализируем счетчики
count = 5      # Начальная длина последовательности
maxim = 5      # Максимальная длина последовательности

# Проходим по строке, начиная с первого символа и до предпоследнего блока из 5 символов
for i in range(len(f) - 5):
    # Сравниваем два блока по 3 символа
    if f[i:i+3] != f[i+3:i+6]:
        count += 1  # Увеличиваем счетчик, если блоки не равны
        maxim = max(count, maxim)  # Обновляем максимальную длину
    else:
        count = 5  # Сбрасываем счетчик до начального значения, если блоки равны

# Выводим максимальную длину последовательности
print(maxim)

 

Ответ: 88869
Оцените статью
Я решу все!