Задача № 181
Текстовый файл состоит из символов \(F\), \(S\), \(W\) и \(Y\). В прилагаемом файле определите максимальное количество символов в непрерывной подпоследовательности, состоящей из идущих подряд групп символов \(FSWY\) в указанном порядке, при этом в начале и в конце искомой последовательности группа символов \(FSWY\) может быть неполной.
Искомая последовательность должна содержать не менее одной полной группы символов \(FSWY.\)
Например, условию задачи удовлетворяют: \(WY\boldsymbol{FSWYFSWY}F\), или \(Y\boldsymbol{FSWYFSWY}FS\), или \(\boldsymbol{FSWYFSWY}FSW\) и т.п.
Для выполнения этого задания следует написать программу.
ЕГКР 27 апреля 2024 года (Московский пробник)
Прокрути, чтобы прочитать решение задачи
Ты уверен, что хочешь это сделать?
Удачного чтения!
Решение
Код из видео
# открываем и считываем файл
file = open('24.txt').read()
# по условию: есть хотя бы одна цепочка
chain = 'FSWY'
# проверяем: можем ли добавить ещё одну
while chain + 'FSWY' in file:
# пока можем, добавляем
chain += 'FSWY'
# проверяем неполные цепочки в начале и в конце
chain = 'SWY' + chain + 'FSW'
# повезло и нашли самую длинную строку
print(chain in file)
# выводим ответ
print(len(chain))