Задание:
Текстовый файл состоит из символов R, S и Q. В прилагаемом файле определите максимальное количество символов в непрерывной подпоследовательности, состоящей из идущих подряд групп символов RSQ в указанном порядке. При этом в начале и в конце искомой последовательности группа символов RSQ может быть неполной.
Искомая подпоследовательность должна содержать не менее одной полной группы символов RSQ.
Например, условию задачи удовлетворяют: SQRSQRSQR; QRSQRS и т.п.
Возможное решение на python:
Более общее решение задачи на случай наличия других символов помимо R, S и Q.
with open('input.txt') as file: # открываем файл со входными данными
s = file.readline().strip() # читаем файл, очищая от спецсимволов
# Алгоритм
s = '!' + s
c = 0 # переменная хранит количество подряд идущих последовательностей RSQ в цикле
ans = -1 # переменная хранит ответ для вывода
for i in range(1, len(s)):
if s[i] == 'R':
if s[i - 1] == 'Q': # R должна идти после Q
c += 1
else:
с = 1
elif s[i] == 'S':
if s[i - 1] == 'R': # S должна идти после R
c += 1
else:
с = 1
elif s[i] == 'Q':
if s[i - 1] == 'S': # Q должна идти после R
c += 1
else:
с = 1
else:
с = 0
ans = max(ans, c) # если текущая цепочка содержит больше последовательностей RSQ, то запоминаем ее длину
print(ans) # выводим ответ