Форум » Обработка символьных строк » №4218 » Ответить

№4218

z1gor: (№ 4218) Текстовый файл 24-157.txt состоит не более чем из 106 символов и содержит только заглавные буквы латинского алфавита (A..Z). Определите максимальное количество идущих подряд символов, среди которых нет сочетания стоящих рядом букв P и R (в любом порядке). В ответе "2940" а у меня "2939" (меньше, чем нужно). Проверял на маленьких строчках по типу "LLLRPLLLL" и выводило ответ "5" (то есть как бы даже больше чем нужно). [pre2] max = 0 c = 0 b = open('24-157.txt') a = b.readline() for i in range(len(a)): if (a == 'R' and a[i+1] == 'P') or (a == 'P' and a[i+1] == 'R'): c = 0 else: c += 1 if c > max: max = c print(max) [/pre2]

Ответов - 3

zachto: Вы написали условие другой задачи.

z1gor: zachto ой да, спасибо. исправил

zachto: [pre2] if (a == 'R' and a[i - 1] == 'P') or (a == 'P' and a[i - 1] == 'R'): c = 0 [/pre2] переменная "c" должна быть равна 1 после невыполнения условия. Пример строка "PRA", ответ = 2, а у вас аж 3 кек. [pre2] import sys sys.stdin = open("24-157.txt", 'r') s = str(input()) cmax = 1 cur = 1 for i in range(1, len(s)): if (s[ i] == 'P' and s[i - 1] == 'R') or (s[ i] == 'R' and s[i - 1] == 'P'): cur = 1 continue cur += 1 cmax = max(cmax, cur) print(cmax) [/pre2] Можно так реализовать




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