Текстовый файл содержит только заглавные буквы латинского алфавита и точки. Назовём словом непустую непрерывную последовательность букв, ограниченную точками по обеим сторонам. Найдите минимальную длину подстроки, содержащую не менее \(K = 600\) слов, начинающихся с буквы A. В ответе укажите длину найденной строки. Например, в строке «AB...CDE.AF..AGH.» всего два слова начинаются с буквы A: «.AF.» и «.AGH.». В этом случае при \(K = 2\) минимальную длину \(9\) имеет подстрока «.AF..AGH.».
Решение:
Python
s = open('8701.txt').readline().strip()
w = [x for x in range(1, len(s)) if s[x-1] == '.' and s[x] == 'A']
K = 600
ml = float('inf')
for x, y in zip(w, w[K - 1:]):
end = s.find('.', y)
if end != -1:
ml = min(ml, end - x + 2)
print(ml)
Ответ: \(70849\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене