Текстовый файл состоит не более чем из \(10^6\) символов и содержит только буквы латинского алфавита. Группа из трёх идущих подряд символов, содержащая по одному разу каждую из букв A, C и F, считается разделителем. Разделители могут накладываться друг на друга, например, последовательность символов AFCAF считается идущими подряд разделителями AFC, FCA и CAF. Определите количество символов в самом длинном фрагменте, полученном после удаления разделителей.
Пример. В строке CORAFCAFROCKCFAAC разделители выделены жирным шрифтом. После удаления разделителей остается три фрагмента: COR, ROCK и AC. Самый длинный из них содержит \(4\) символа. Ответ: \(4.\)
Решение:
Python
from itertools import permutations
s = open('6407.txt').readline().strip()
perm = [''.join(p) for p in permutations('FCA')]
p = []
for x in perm:
pt = s.find(x)
while pt != -1:
p.append(pt)
pt = s.find(x, pt + 1)
s = list(s)
for x in p:
s[x] = ' '
s[x + 1] = ' '
s[x + 2] = ' '
s = ''.join(s)
arr = [len(x) for x in s.split(' ')]
print(max(arr))
Ответ: \(532\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене