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

Текстовый файл состоит не более чем из 106  символов X  , Y  , Z  . Найдите самую длинную последовательность, которая не содержит подстроку XXY  Z  , т.е. для последовательности XXY  ZXY  условию удовлетворяет последовательность XY  ZXY

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

# Открываем файл для чтения
f = open(’Задание_24_ДЗ.txt’)
s = f.read()  # Читаем содержимое файла

# Инициализируем переменные
string = ""  # Строка для хранения текущей последовательности
maxim = 0    # Максимальная длина допустимой последовательности

# Проходим по всем символам строки
for i in range(len(s)):
    string += s[i]  # Добавляем текущий символ к строке
    # Проверяем, содержит ли текущая строка подстроку "XXYZ"
    if string.count("XXYZ") != 0:
        maxim = max(maxim, len(string) - 1)  # Обновляем максимальную длину, исключая последний символ
        string = "XYZ"  # Сбрасываем строку до "XYZ", так как "XXYZ" может быть только в конце

# Выводим максимальную длину последовательности, учитывая остаток строки
print(max(maxim, len(string)))

 

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