Задача #4296

Работа со строками

Сложнее ЕГЭ

Текстовый файл состоит из десятичных цифр, знаков "+" и "*" (сложения и умножения). Определите максимальное количество символов в непрерывной последовательности, являющейся корректным арифметическим выражением с целыми неотрицательными числами (без знака), значение которого равно нулю. В этом выражении никакие два знака арифметических операций не стоят рядом, порядок действий определяется по правилам математики. В записи чисел отсутствуют незначащие (ведущие) нули.
В ответе укажите количество символов.

Файлы к задаче

Ответ
Новая
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть Нажми, чтобы скрыть

Ответ

197

Видео по задаче

from re import *

s = open('24.txt').readline()

num = r'([1-9][0-9]*|0)'
pr0 = rf'(({num}\*)*0(\*{num})*)'
reg = rf'{pr0}(\+{pr0})*'
reg = rf'(?=({reg}))'

m = max([x.group(1) for x in finditer(reg,s)],key=len)
print(len(m), m)
Быстрый переход
Перейти к задаче