Задание 24. Информатика. ЕГЭ. Поляков-2508

Просмотры: 149
Изменено: 1 февраля 2025

В текстовом файле находится цепочка из не более чем \(10^6\) символов, в которую могут входить заглавные буквы латинского алфавита \(A \ldots Z\) и десятичные цифры. Найдите длину самой длинной подцепочки, состоящей из одинаковых символов. Для каждой цепочки максимальной длины выведите в отдельной строке сначала символ, из которого строится эта цепочка, а затем через пробел – длину этой цепочки. Данные о найденных цепочках расположите в порядке их появления в файле.

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

Решение:

Python


base = ''
s = open(base + '24.txt').readline().strip()
ls = len(s)
mlen = 0
p = 1
symb = [s[0]]
while p < ls:
    b = p - 1
    while s[p] == s[p-1]:
        p += 1
    if mlen < p - b:
        mlen = p - b
        symb = [s[b]]
    elif mlen == p - b:
        symb.append(s[b])
    p += 1
for ch in symb:
    print(ch, mlen)

Ответ:
\(E \,\, 9\)
\(Y \,\, 9\)