(К. Багдасарян) Текстовый файл состоит не более чем из \(10^6\) символов и содержит только десятичные цифры, знаки арифметических операций и круглые скобки: «(», «)». Назовем выражение корректным, если:
Примеры корректных выражений: \(((1+2)(3+++4)),\) \(((1***2)345)\)
Примеры некорректных выражений:
Определите максимальное количество символов в непрерывной последовательности текста, которая представляет собой корректное выражение. Гарантируется, что в тексте присутствуют корректные выражения. В ответе укажите количество символов.
Решение:
Python
s = open('7742.txt').readline().strip()
mlen = 0
ls = len(s)
p = 0
while s[p] != '(':
p += 1
while p < ls:
b = p
st = 1
p += 1
while p < ls and st:
if s[p] == '(':
st += 1
elif s[p] == ')':
st -= 1
p += 1
mlen = max(mlen, p - b)
while p < ls and s[p] != '(':
p += 1
print(mlen)
Ответ: \(65\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене