Информатика. ЕГЭ

Задание 24. Информатика. ЕГЭ. Поляков-7744

Просмотры: 205
Изменено: 21 января 2026

(К. Багдасарян) Текстовый файл состоит не более чем из \(10^6\) символов и содержит только десятичные цифры, знаки арифметических операций, а также круглые, квадратные и фигурные скобки: «\((\)», «\()\)», «\([\)», «\(]\)», «\(\{\)», «\(\}\)». Назовем выражение корректным, если:

  1. оно начинается с открывающей скобки и заканчивается парной ей закрывающей скобкой того же типа;
  2. скобки внутри выражения сбалансированы, т.е.:
    • для каждой открывающей скобки есть закрывающая того же типа;
    • скобки открываются и закрываются в правильном порядке.

Примеры корректных выражений: \([\{1+2\}(3+++4)],\) \([(1***2)\{3\}45]\)

Примеры некорректных выражений:

  • \((1+2])\) – (лишняя закрывающая скобка \(]\));
  • \((1+2]\) – (открывающая и закрывающая скобки не соответствуют друг другу).

Определите максимальное количество символов в непрерывной последовательности текста, которая представляет собой корректное выражение. Гарантируется, что в тексте присутствуют корректные выражения. В ответе укажите количество символов.

Решение:

Python


s = open('7744.txt').readline().strip()

brackets = '([{}])'
op_brackets = '([{'
d = {'(': (0, 1), ')': (0, -1), '[': (1, 1), ']': (1, -1), '{': (2, 1), '}': (2, -1)}
mlen = 0
ls = len(s)
p = 0
st = [0, 0, 0]
while s[p] not in op_brackets:
    p += 1
while p < ls:
    b = p
    pos, step = d[s[p]]
    fbr = pos
    st[pos] += step
    p += 1
    f = True
    while p < ls and st[fbr]:
        if s[p] in brackets:
            pos, step = d[s[p]]
            st[pos] += step

        p += 1
        if any(x < 0 for x in st):
            f = False
            break
    if f and all(x == 0 for x in st):
        mlen = max(mlen, p - b)
    st = [0, 0, 0]
    while p < ls and s[p] not in op_brackets:
        p += 1
print(mlen)

Ответ: \(59\)

Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене

Новое видео
Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»
Поддержать автора сайта!
​ Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.
Расписание пробников Статграда в 2026/27 учебном году
Информатика ОГЭ 9 класс
  1. 13 октября 2026 года
  2. 3 декабря 2026 года
  3. 21 января 2027 года
  4. 19 февраля 2027 года
  5. 23 марта 2027 года
  6. 27 апреля 2027 года
Математика ОГЭ 9 класс
  1. 23 сентября 2026 года
  2. 1 декабря 2026 года
  3. 22 января 2027 года
  4. 3 марта 2027 года
  5. 14 апреля 2027 года
Физика ОГЭ 9 класс
  1. 19 октября 2026 года
  2. 10 декабря 2026 года
  3. 29 января 2027 года
  4. 17 марта 2027 года
  5. 22 апреля 2027 года
Математика ЕГЭ 10 класс
  1. 3 февраля 2027 года
  2. 11 мая 2027 года
Информатика ЕГЭ 11 класс
  1. 22 октября 2026 года
  2. 15 декабря 2026 года
  3. 26 января 2027 года
  4. 2 марта 2027 года
  5. 13 апреля 2027 года
Математика ЕГЭ 11 класс
  1. 30 сентября 2026 года
  2. 17 декабря 2026 года
  3. 9 февраля 2027 года
  4. 16 марта 2027 года
  5. 21 апреля 2027 года
Физика ЕГЭ 11 класс
  1. 14 октября 2026 года
  2. 16 декабря 2026 года
  3. 4 февраля 2027 года
  4. 12 марта 2027 года
  5. 9 апреля 2027 года