Тип 24 № 61370 
Обработка символьных строк. Задания для подготовки
i
Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых ровно по одному разу встречаются буквы A и B.
Задание 24
Решение. Приведём решение на языке Python.
f = open("24.txt").readline()
f = f.replace('A','A ').replace('B','B ').split(' ')
maxi = 0
for i in range(len(f)-2):
c = f[i] + f[i+1]+ f[i+2][:-1]
if c.count('A') == 1 and c.count('B') == 1:
maxi= max(maxi, len(c))
c = f[-3] + f[-2]+ f[-1]
if c.count('A') == 1 and c.count('B') == 1:
maxi= max(maxi, len(c))
print(maxi)
Ответ: 182.
Приведём решение Бориса Савельева на языке Python.
f = open('24.txt').readline()
maxi = 0
for i in range (0,len(f)):
cnt=0
a = 0
b = 0
for j in range (i,len(f)):
cnt += 1
if f[j] == 'A':
a += 1
if f[j] == 'B':
b += 1
if a >= 2 or b >= 2:
if (a==2 and b==1) or (a==1 and b==2):
maxi = max(cnt-1,maxi)
break
print(maxi)
Приведём решение Юрия Красильникова на языке Python.
s = open('24.txt').readline()
p = [-1]+[i for i in range(len(s)) if s[i] in 'AB'] + [len(s)]
print(max([p[i+3]-p[i]-1 for i in range(len(p)-3) if s[p[i+1]] != s[p[i+2]]]))
Ответ: 182