ЕГЭ, ОГЭ, программирование и робототехника в Калининграде

№ 24023. ЕГКР

Текстовый файл состоит из символов F, G, Q, R, S и W.

Определите в этом файле минимальное количество идущих подряд символов, среди которых подстрока RSQ встречается ровно 130 раз, при этом искомая последовательность не оканчивается символом Q.

with open('2423.txt', 'r') as file:
    line = file.readline()

line_len = len(line)
data = line.split('RSQ')

ans = float('inf')
for i in range(len(data) - 130):
    RSQ_130_times = 'RSQ' + 'RSQ'.join(data[i:i+129]) + 'RSQ'
    len_RSQ_130_times = len(RSQ_130_times)
    if len_RSQ_130_times < ans:
        last_pos = line.find(RSQ_130_times) + len_RSQ_130_times - 1
        plus_not_Q = 0
        while last_pos < line_len and line[last_pos] == 'Q':
            last_pos += 1
            plus_not_Q += 1
        ans = min(ans, len_RSQ_130_times + plus_not_Q)

print(ans)
Разберём это задание на бесплатном пробном занятии

Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.

Записаться на пробное занятие