Задание 24. Информатика. ЕГЭ. Шастин. 19.09.2024

Просмотры: 220
Изменено: 24 ноября 2024

(Л. Шастин) Текстовый файл состоит не более чем из \(10^8\) символов \(X\), \(Y\) и \(Z\). «ИКС-ДВА» подстроками назовём непрерывные подпоследовательности символов, начинающиеся и заканчивающиеся на \(X\) и не содержащие внутри других символов \(X\). Найдите «ИКС-ДВА» подстроку, содержащую наибольшее количество символов \(Y\), и определите её длину. Если таких подстрок в файле несколько, тогда укажите длину наименьшей из них.

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

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

Решение:

Python


s = open('24.txt').readline().strip()
d = len(s)
p1 = 0
my = 0
ly = 10**100
while s[p1] != 'X':
    p1 += 1
for p2 in range(p1 + 1, d):
    if s[p2] == 'X':
        qy = s[p1:p2].count('Y')
        if qy > my:
            my = qy
            ly = p2 - p1 + 1
        elif qy == my:
            ly = min(ly, p2 - p1 + 1)
        p1 = p2

print(ly)

Ответ: \(90\)