ALEXMATH

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

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

Задание 24. Информатика. ЕГЭ. Шастин. 6.11.2024

Просмотры: 1682
Изменено: 1 февраля 2025

(Л. Шастин) Текстовый файл состоит не более чем из \(10^8\) символов латиницы, входящих в слово «REVOLUTION». Найдите наименьшую длину подстроки, которая включает в себя подпоследовательность символов, образующих слово «LOVE». Например, для строки REVVVLAAORRVEARRLBOLRVER ответом будет являться число \(7\) — это длина подстроки LBOLRVE. Для выполнения этого задания следует написать программу.

Решение:

Python 3.10+


base = ''
s = open(base + '24.txt').readline().strip()

lpos = []
opos = []
vpos = []
epos = []

for i, c in enumerate(s):
    match c:
        case 'L':
            lpos.append(i)
        case 'O':
            opos.append(i)
        case 'V':
            vpos.append(i)
        case 'E':
            epos.append(i)

llen, olen, vlen, elen = len(lpos), len(opos), len(vpos), len(epos)
l, o, v, e = 0, 0, 0, 0

while opos[o] < lpos[l]:
    o += 1
while vpos[v] < opos[o]:
    v += 1
while epos[e] < vpos[v]:
    e += 1
size = epos[e] - lpos[l] + 1

while l < llen and o < olen and v < vlen and e < elen:
    l += 1
    while l < llen and o < olen and opos[o] < lpos[l]:
        o += 1
    while o < olen and v < vlen and vpos[v] < opos[o]:
        v += 1
    while v < vlen and e < elen and  epos[e] < vpos[v]:
        e += 1
    if l < llen and o < olen and v < vlen and e < elen:
        size = min(size, epos[e] - lpos[l] + 1)
print(size)

Ответ: \(2000031\)

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

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

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

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году