*(А. Минак) Текстовый файл состоит не более чем из \(10^6\) символов и содержит только заглавные буквы латинского алфавита и десятичные цифры. Найдите максимальную длину подстроки, которая содержит ровно \(100\) символов \(D,\) не содержит цифр, и не содержит сочетаний символов \(DS\) и \(SD.\)
Решение:
Python
s = open('7438.txt').readline().strip()
for d in '0123456789':
s = s.replace(d, ' ')
s = s.replace('DS', 'D S'). replace('SD', 'S D')
ml = 0
for line in s.split(' '):
pd = [-1] + [p for p in range(len(line)) if line[p] == 'D'] + [len(line)]
if len(pd) > 102:
for x, y in zip(pd, pd[101:]):
ml = max(ml, y - x - 1)
elif len(pd) == 102:
ml = max(ml, len(line))
print(ml)
Ответ: \(644\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене