Текстовый файл содержит строку из заглавных латинских букв \(X, \, Y\) и \(Z,\) всего не более чем из \(10^6\) символов. Определите максимальное количество идущих подряд троек символов \(X{*}X\) или \(Y{*}Y,\) где \({*}\) обозначает один любой символ.
Решение:
Python
def is_good(a):
return a[0] == a[2] == 'X' or a[0] == a[2] == 'Y'
s = open('4924.txt').readline().strip()
ls = len(s)
mt = 0
for p in range(ls - 3):
if is_good(s[p:p + 3]):
t = 1
pt = p + 3
while pt < ls - 3 and is_good(s[pt:pt + 3]):
t += 1
pt += 3
mt = max(mt, t)
print(mt)
Ответ: \(16\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене