Форум » Обработка символьных строк » Задание 24. № 5262 не сходится ответ » Ответить

Задание 24. № 5262 не сходится ответ

tim_ol@mail.ru: Текстовый файл 24-210.txt содержит строку из набора A, B, C, D, E, F, всего не более чем из 106 символов. Найдите максимальное количество подряд идущих троек символов ABC, BAC, CAB, CBA, стоящих одна за другой и пересекающихся с соседними тройками одной буквой. Например, в строке BDEABCBABCABBD такие пары составляют подстроку ABCBABCAB = ABC + СBA + ABC + CAB, итого 4 тройки. f = open('24-210.txt').readline() f = f.replace("ABCBA", 'ABCCBA') f = f.replace("CBABC", 'CBAABC') f = f.replace("ABCAB", 'ABCCAB') f = f.replace("BACAB", 'BACCAB') f = f.replace("BACBA", 'BACCBA') f = f.replace("CABAC", 'CABBAC') f = f.replace('ABC','*').replace('BAC','*').replace('CAB','*').replace('CBA','*') f = f.replace('A',' ').replace('B',' ').replace('C',' ').replace('D',' ').replace('E',' ').replace('F',' ') f = f.split() print(max([len(i) for i in f])) Выводит ответ 43, по ключам 47. Подскажите, где недочет. Спасибо

Ответов - 1

Поляков: На строке BACCBAB ваша программа выводит 2, а ответ 1 (BAC или CBA). На строке ABACBAC ваша программа выводит 1, а ответ 2 (BACBA).



полная версия страницы