Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
РешениеИдея решения: ищем подстроку состоящую из "XYZ" максимальной длины и определяем позицию ее окончания. Если следующий символ "Х", увеличиваем её длину на 1. Если затем - "Y", то ещё на 1.
# Считываем данные из файла
f=open('24_demo.txt')
s=f.readline()
c=0 # количество подстрок XYZ
m=0 # максимальное количество подстрок XYZ
p=0 # позиция окончания максимальной подстроки
i=0 # позиция очередного символа
h=1 # шаг изменения позиции очередного символа
#Поиск максимальной подстроки
while i<len(s)-2:
if s[i]+s[i+1]+s[i+2]=='XYZ':
c+=1
h=3
else:
if m<c:
p=i+2
m=c
c=0
h=1
i+=h
m=m*3 #длина максимальной подстроки
if s[p]=='X': #Если следующий символ Х, длина строки увеличивается
m+=1
p+=1
if s[p]=='Y': # если за ним Y увеличиваем еще на 1
m+=1
print(m)
Комментариев нет:
Отправить комментарий