Задание 24. Информатика. ЕГЭ. Шастин. 18.12.2024
- Просмотры: 326
- Изменено: 1 февраля 2025
(Л. Шастин) Текстовый файл состоит из символов A, B, C, D, E, F, G и H. Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых последовательность расстояний между ближайшими соседними гласными буквами образует арифметическую прогрессию.
Например, в строке BBDABCADEFBACDFAB подходит подстрока BCADEFBACDFAB, последовательность расстояний между ближайшими соседними гласными буквами в ней образована с шагом \(1\) и выглядит так: \(2, \, 3, \, 4.\)
Примечание. Под расстоянием понимается разница индексов. Для выполнения этого задания следует написать программу.
Решение:
Python
base = ''
s = open(base + '24.txt').readline().strip()
mx = 0
ls = len(s)
vow = 'AE'
p1 = 0
b = 0
while s[p1] not in vow:
p1 += 1
p2 = p1 + 1
while s[p2] not in vow:
p2 += 1
p3 = p2 + 1
while s[p3] not in vow:
p3 += 1
d = (p3 - p2) - (p2 - p1)
e = p3
while s[e+1] not in vow:
e += 1
mx = e - b
while p3 < ls:
p1, p2, p3 = p2, p3, p3 + 1
while p3 < ls and s[p3] not in vow:
p3 += 1
if p3 < ls:
if (p3 - p2) - (p2 - p1) != d:
mx = max(mx, p3 - b)
d = (p3 - p2) - (p2 - p1)
b = p1
while b and s[b-1] not in vow:
b -= 1
if p3 == ls:
mx = max(mx, p3 - b)
print(mx)
Ответ: \(107831\)