Форум » Обработка символьных строк » Задача 5878, не сходится ответ » Ответить

Задача 5878, не сходится ответ

nasa1337: У меня получается ответ 12, заявлен ответ 15. with open('24-237.txt') as f: s = f.readline().replace('AAA', 'III').replace('BBB', 'III').replace('CCC', 'III').replace('DDD', 'III').replace('EEE', 'III').replace('FFF', 'III').replace('A', 'O').replace('B', 'O').replace('C', 'O').replace('D','O').replace('E', 'O').replace('F', 'O').split('O') print(max([len(i) for i in s]))

Ответов - 4

MrAndrewson: Ответ верный [pre2]s = open('24-237.txt').read().strip() k = 0 mx = 0 for start in range(3): for i in range(start, len(s) - 2, 3): if s[ i] == s[i + 1] == s[i + 2]: k += 3 else: mx = max(mx, k) k = 0 print(mx) [/pre2] Ваше решение дает неверный ответ, например, для строки s = 'AAAABBB'

nasa1337: Спасибо!

Ольга Тузова: Здравствуйте. Мне кажется, Ваше решение даёт неправильный ответ на некоторых цепочках, например, s = "AAAABBBBAAABBB". Перед выводом результата надо ещё раз выбрать максимум. ... mx = max(mx, k) print(mx) Иначе, если самая длинная цепочка попадает на конец строки при значении start= 2, она вообще не учитывается.


MrAndrewson: Ольга Тузова пишет: Мне кажется, Ваше решение даёт неправильный ответ на некоторых цепочках, например, s = "AAAABBBBAAABBB". Перед выводом результата надо ещё раз выбрать максимум. Да, Вы правы.



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