(А. Богданов) Текстовый файл состоит не более чем из \(10^6\) символов и содержит только буквы латинского алфавита и десятичные цифры. Определите максимальное количество идущих подряд символов, среди которых любые два символа из набора \(N,O,T\) в различных комбинациях (с учётом повторений) не стоят через один символ (который может быть любым). Например, \(ТEN\) или \(NUТ\) не могут быть в искомой подстроке.
Решение:
Python
s = open('6392.txt').readline().strip()
symb = 'NOT'
pc = set()
ls = len(s)
for c in symb:
p = s.find(c)
while p != -1:
if p + 2 < ls and s[p+2] in symb:
pc.add(p)
p = s.find(c, p + 1)
pc = [-1] + sorted(list(pc)) + [ls - 2]
print(max(y + 1 - x for x, y in zip(pc, pc[1:])))
Ответ: \(1461\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене