Задания
Версия для печати и копирования в MS Word
Тип 24 № 60266
i

Тек­сто­вый файл со­сто­ит из сим­во­лов T, U, V, W, X, Y и Z.

Опре­де­ли­те в при­ла­га­е­мом файле мак­си­маль­ное ко­ли­че­ство иду­щих под­ряд сим­во­лов (длину не­пре­рыв­ной под­по­сле­до­ва­тель­но­сти), среди ко­то­рых сим­вол T встре­ча­ет­ся ровно 100 раз.

Для вы­пол­не­ния этого за­да­ния сле­ду­ет на­пи­сать про­грам­му.

24.txt

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке Python.

f = open('24_2024.txt')

s = 'T'+f.readline()[:-1]+'T'

l = 0

maxi = 0

pos = []

for i in range(len(s)):

if s[i] == 'T':

pos.append(i)

for i in range(101, len(pos)):

l = pos[i] - pos[i-101] - 1

maxi = max(maxi, l)

print(maxi)

 

Ответ: 133.

 

При­ведём ре­ше­ние Алек­сандра Та­ра­со­ва на языке Python.

f = open('24_2024.txt','r')

s = f.readline()

count_t, end, ma = 0,0,0

for start in range(len(s)-1):

if s[start] == 'T':

count_t += 1

while count_t > 100:

if s[end] == 'T':

count_t -= 1

end += 1

ma = max(ma,start-end+1)

print(ma)

 

При­ведём ре­ше­ние Ильи Ан­дри­а­но­ва на языке Python.

s = open('24_2024.txt').readline().split('T')

maxi = 0

for i in range(len(s)-100):

r = 'T'.join(s[i:i+101])

maxi = max(maxi, len(r))

print(maxi)

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

s = open('24_2024.txt').readline()

ndx=[-1]+[i for i in range(len(s)) if s[i]=='T']+[len(s)]

print(max(ndx[i+101]-ndx[i]-1 for i in range(len(ndx)-101)))

 

При­ведём ре­ше­ние Ивана Глад­ких (Чер­кесск) на языке Python.

file = open('24_2024.txt').read()

m = 0

z = [z for z in range(len(file)) if file[z] == 'T']

for i in range(len(z)-101):

m = max(m,abs(z[i]-z[i+101])-1)

print(m)

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2024 по ин­фор­ма­ти­ке