ЕГЭ

Автор: wilgelmzwer , 25 мая 2026
25052026_26_3
Условие задачи

Задание 26. Энергетические комплекты2

Задание выполняется с использованием прилагаемого файла.

На складе исследовательской станции хранятся комплекты энергетических узлов. Каждый комплект состоит из двух узлов. Для каждого узла известна его мощность — натуральное число.

Перед сборкой каждый комплект проходит проверку.

Пусть R — разность мощностей двух узлов комплекта.

  • Если R < D, то комплект считается сбалансированным, и оба его узла отправляются на основную линию сборки.
  • Если DR ≤ 2D, то комплект считается разделяемым: более мощный узел отправляется на основную линию сборки, а менее мощный — в резерв.
  • Если R > 2D, то комплект считается нестабильным, и оба его узла отправляются в резерв.

Из узлов основной линии и из узлов резерва отдельно собирают энергетические блоки. Каждый энергетический блок состоит ровно из четырёх узлов.

Если мощности узлов блока равны x, y, z и t, где xyzt, то блок считается стабильным, если выполнены все условия:

  • yxK;
  • zyK;
  • tzK.

Энергия такого энергетического блока равна сумме произведений мощностей соседних узлов:

x·y + y·z + z·t

Каждый узел можно использовать не более чем в одном энергетическом блоке одной линии. Основная линия и резерв рассматриваются независимо.

Для основной линии требуется определить максимальное количество стабильных энергетических блоков, которое можно собрать из её узлов.

Кроме того, для каждой линии отдельно рассматриваются все возможные способы выбрать четыре узла и расположить их в стабильный энергетический блок. Среди всех таких блоков для каждой линии выбирается блок с максимальной энергией.

Определите:

  1. максимальное количество стабильных энергетических блоков, которое можно собрать из узлов основной линии;
  2. модуль разности между максимальной возможной энергией одного стабильного энергетического блока основной линии и максимальной возможной энергией одного стабильного энергетического блока резерва.

В ответе запишите два натуральных числа: сначала количество стабильных энергетических блоков основной линии, затем найденную разность.

Входные данные

В первой строке входного файла находятся три натуральных числа:

N K D

где:

  • N — количество комплектов энергетических узлов;
  • K — минимальная допустимая разница мощностей соседних узлов в стабильном энергетическом блоке;
  • D — порог разности мощностей узлов одного комплекта.

В следующих N строках записаны по два натуральных числа — мощности двух узлов одного комплекта.

Файлы к задаче
задание 26 (248.23 КБ)
Подсказка

Подсказка к заданию 26

Сначала аккуратно распределите все узлы по двум спискам: основная линия и резерв. Обратите внимание на три разных случая для разности R:

  • R < D;
  • DR ≤ 2D;
  • R > 2D.

После этого основную линию и резерв нужно рассматривать отдельно.

Для поиска количества стабильных блоков полезно посмотреть, как распределены мощности узлов. Попробуйте отсортировать мощности и найти группы чисел, между которыми расстояния достаточно велики.

Стабильный блок состоит из четырёх узлов x, y, z и t, для которых соседние мощности отличаются не меньше чем на K. Поэтому в удачной сборке важно брать узлы из разных диапазонов мощности.

Для поиска максимальной энергии одного блока не нужно перебирать все четвёрки. Подумайте, какие узлы выгодно взять, если все мощности положительные, а энергия равна:

x·y + y·z + z·t

Чем больше выбранные мощности, тем больше вклад в сумму произведений. Поэтому после разбиения на подходящие группы стоит обратить внимание на самые большие элементы этих групп.

Решение

пока нет

ЕГЭ
Задание 26
ЕГЭ №26
Сортировка данных
4 - сложная
Авторская задача
Автор: wilgelmzwer , 25 мая 2026
25052026_26_1
Условие задачи

Задание 26. Энергетические комплекты

Задание выполняется с использованием прилагаемого файла.

На складе исследовательской станции хранятся комплекты энергетических узлов. Каждый комплект состоит из двух узлов. Для каждого узла известна его мощность — натуральное число.

Перед сборкой каждый комплект проходит проверку.

Пусть R — разность мощностей двух узлов комплекта.

  • Если R < D, то комплект считается сбалансированным, и оба его узла отправляются на основную линию сборки.
  • Если DR ≤ 2D, то комплект считается разделяемым: более мощный узел отправляется на основную линию сборки, а менее мощный — в резерв.
  • Если R > 2D, то комплект считается нестабильным, и оба его узла отправляются в резерв.

Из узлов основной линии и из узлов резерва отдельно собирают стабильные энергоблоки. Каждый энергоблок состоит ровно из трёх узлов.

Если мощности узлов блока равны x, y и z, где xyz, то блок считается стабильным, если выполнены оба условия:

  • yxK;
  • zyK.

Энергия такого энергоблока равна:

x·y + y·z

Для основной линии и для резерва отдельно требуется собрать максимально возможное количество стабильных энергоблоков.

Если существует несколько способов собрать максимально возможное количество стабильных энергоблоков, выбирается такой способ, при котором суммарная энергия собранных энергоблоков максимальна.

Определите:

  1. максимальное количество стабильных энергоблоков, которое можно собрать из узлов основной линии;
  2. модуль разности между максимальной суммарной энергией стабильных энергоблоков основной линии и максимальной суммарной энергией стабильных энергоблоков резерва.

В ответе запишите два натуральных числа: сначала количество стабильных энергоблоков основной линии, затем найденную разность.

Входные данные

В первой строке входного файла находятся три натуральных числа:

N K D

где:

  • N — количество комплектов энергетических узлов;
  • K — минимальная допустимая разница мощностей соседних узлов в стабильном энергоблоке;
  • D — порог разности мощностей узлов одного комплекта.

В следующих N строках записаны по два натуральных числа — мощности двух узлов одного комплекта.

Пример входного файла

10 5 4
10 13
20 27
30 36
40 43
50 60
22 24
70 82
15 25
33 34
45 52

После проверки комплектов на основную линию попадут узлы:

10 13 24 22 43 40 34 33 27 36 52

В резерв попадут узлы:

20 30 50 60 70 82 15 25 45

Для основной линии можно собрать 3 стабильных энергоблока с максимальной суммарной энергией:

24 34 40
33 43 52
10 22 27

Их суммарная энергия равна:

24·34 + 34·40 + 33·43 + 43·52 + 10·22 + 22·27 = 6631

Для резерва можно собрать 2 стабильных энергоблока с максимальной суммарной энергией:

50 60 82
15 25 30

Их суммарная энергия равна:

50·60 + 60·82 + 15·25 + 25·30 = 9045

Модуль разности:

9045 − 6631 = 2414

Ответ для примера:

3 2414
Файлы к задаче
задание 26 (64.78 КБ)
Подсказка

пока нет

Решение

пока нет

ЕГЭ
Задание 26
ЕГЭ №26
Сортировка данных
Оптимизация перебора
4 - сложная
Авторская задача
Автор: wilgelmzwer , 25 мая 2026
25052026_9_1
Условие задачи

Задание 9. Энергетические блоки

Задание выполняется с использованием прилагаемого файла.

Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Каждая строка описывает энергетический блок, состоящий из семи узлов. Числа в строке обозначают мощности этих узлов.

Узлы одного блока можно расположить в некотором порядке в одну цепочку. Если рядом находятся два узла с мощностями a и b, то соединение между ними даёт энергию a · b.

Энергией блока будем считать наибольшую возможную сумму произведений соседних узлов, которую можно получить при некотором расположении всех семи узлов.

Определите сумму номеров строк таблицы, для которых выполнены оба условия:

  • энергия блока делится на максимальное число строки без остатка;
  • сумма трёх наибольших чисел строки больше суммы четырёх оставшихся чисел.

В ответе запишите только число.

Файлы к задаче
задание 9 (34.72 КБ)
Подсказка

Подсказка

В каждой строке семь чисел. Их можно переставлять в любом порядке, поэтому энергия строки не обязана считаться в том порядке, в котором числа записаны в таблице.

Чтобы получить наибольшую энергию блока, подумайте, какие числа выгоднее поставить рядом. Большие числа дают большие произведения, поэтому обычно их выгодно располагать ближе друг к другу.

Например, пусть в строке было бы не семь, а пять чисел:

10 20 30 40 50

Если расположить их просто по возрастанию, получится цепочка:

10 20 30 40 50

Её энергия равна:

10·20 + 20·30 + 30·40 + 40·50 = 4000

Но можно расположить числа иначе:

10 30 50 40 20

Тогда энергия будет больше:

10·30 + 30·50 + 50·40 + 40·20 = 4600

Значит, для каждой строки нужно искать именно максимальную возможную энергию, а не просто считать произведения соседних чисел в исходном порядке.

Один из удобных способов рассуждения — сначала отсортировать числа строки, а затем попробовать расположить их так, чтобы самые большие числа участвовали в произведениях с другими большими числами.

После того как максимальная энергия строки найдена, останется проверить два условия:

  • делится ли найденная энергия на максимальное число строки;
  • больше ли сумма трёх наибольших чисел суммы четырёх остальных.
Решение

пока нет

ЕГЭ
Задание 9
ЕГЭ №9
Электронные таблицы
Циклы
3 - средняя
Авторская задача
Автор: wilgelmzwer , 24 мая 2026
Тип комплекта
Связка с общим условием
ЕГЭ
Номера заданий
19–21
Описание

Связка задач ЕГЭ №19–21 по теории игр. Все три задания основаны на одной игре с кучей камней, но проверяют разные уровни анализа выигрышных стратегий.

Общее условие

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза.

Например, если в куче было 10 камней, за один ход можно получить 11 или 20 камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 58. Победителем считается игрок, сделавший последний ход.

В начальный момент в куче было S камней, где 1 ≤ S ≤ 57.

Автор: wilgelmzwer , 24 мая 2026
ege_21_game_one_pile_58_01
Условие задачи

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза.

Например, если в куче было 10 камней, за один ход можно получить 11 или 20 камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 58. Победителем считается игрок, сделавший последний ход.

В начальный момент в куче было S камней, где 1 ≤ S ≤ 57.

Найдите минимальное значение S, при котором у Вани есть стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, но у Вани нет стратегии, позволяющей гарантированно выиграть своим первым ходом.

В ответе запишите одно целое число.

Подсказка

Нужно найти такую позицию, из которой любой первый ход Пети переводит игру в позицию, выигрышную для Вани не позднее его второго хода.

Решение

Из предыдущего анализа известно:

  • при S ≥ 29 игрок может выиграть за один ход;
  • S = 28 — позиция, из которой любой ход отдаёт победу следующему игроку за один ход;
  • S = 14 и S = 27 — позиции, из которых игрок может выиграть вторым ходом.

Рассмотрим S = 26. У Пети есть два хода:

26 + 1 = 27
26 * 2 = 52

Если Петя получает 27, то Ваня может перевести игру в 28, после чего Петя любым ходом отдаёт Ване возможность выиграть следующим ходом.

Если Петя получает 52, то Ваня сразу выигрывает, добавив 6 камней невозможно, но он может сделать только +1 или ×2. Ход ×2 даёт 104, то есть не менее 58. Значит, Ваня выигрывает сразу.

При этом Ваня не гарантирует выигрыш своим первым ходом для любого первого хода Пети: после хода Пети в 27 Ваня не может завершить игру немедленно. Поэтому минимальное подходящее значение S равно 26.

Ответ: 26.

ЕГЭ
Задание 21
ЕГЭ №21
Теория игр
Динамическое программирование
Рекурсия
4 - сложная
Авторская задача
Автор: wilgelmzwer , 24 мая 2026
ege_20_game_one_pile_58_01
Условие задачи

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза.

Например, если в куче было 10 камней, за один ход можно получить 11 или 20 камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 58. Победителем считается игрок, сделавший последний ход.

В начальный момент в куче было S камней, где 1 ≤ S ≤ 57.

Найдите два наименьших значения S, при которых у Пети есть выигрышная стратегия, причём Петя не может выиграть первым ходом, но может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

В ответе запишите найденные значения в порядке возрастания через пробел.

Подсказка

Сначала найдите позицию, из которой любой ход приводит к немедленному выигрышу следующего игрока. Затем найдите такие начальные S, из которых Петя может одним ходом перевести игру в эту позицию.

Решение

Сначала найдём позиции, из которых игрок может выиграть за один ход. Для этого должно выполняться одно из условий:

S + 1 >= 58 или 2 * S >= 58

Значит, игрок выигрывает за один ход при S ≥ 29.

Теперь найдём позицию, из которой любой ход ведёт в область S ≥ 29. Это позиция S = 28:

28 + 1 = 29
28 * 2 = 56

После любого хода из 28 следующий игрок сможет выиграть за один ход. Значит, Петя хочет своим первым ходом получить 28 камней.

Получить 28 можно двумя способами:

S + 1 = 28  =>  S = 27
2 * S = 28  =>  S = 14

Оба значения меньше 29, значит Петя не выигрывает первым ходом. Подходящие значения: 14 и 27.

Ответ: 14 27.

ЕГЭ
Задание 20
ЕГЭ №20
Теория игр
Динамическое программирование
Рекурсия
4 - сложная
Авторская задача
Автор: wilgelmzwer , 24 мая 2026
ege_19_game_one_pile_58_01
Условие задачи

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза.

Например, если в куче было 10 камней, за один ход можно получить 11 или 20 камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 58. Победителем считается игрок, сделавший последний ход.

В начальный момент в куче было S камней, где 1 ≤ S ≤ 57.

Укажите минимальное значение S, при котором Петя может выиграть своим первым ходом.

В ответе запишите одно целое число.

Подсказка

Петя выигрывает первым ходом, если за один ход может получить не менее 58 камней. Нужно проверить два возможных хода: прибавить 1 или умножить на 2.

Решение

Петя может выиграть первым ходом, если из начального количества S можно сразу получить не менее 58 камней.

Возможные ходы:

S + 1
2 * S

Условие выигрыша первым ходом:

S + 1 >= 58 или 2 * S >= 58

Из первого неравенства получаем S ≥ 57. Из второго неравенства получаем S ≥ 29. Минимальное подходящее значение S равно 29.

Ответ: 29.

ЕГЭ
Задание 19
ЕГЭ №19
Теория игр
Динамическое программирование
Рекурсия
3 - средняя
Авторская задача
Автор: wilgelmzwer , 24 мая 2026
Тип комплекта
Тематическая подборка
ЕГЭ
Номера заданий
24
Описание

Подборка авторских задач для тренировки задания №24 ЕГЭ по информатике. Задачи посвящены обработке символьных строк, поиску фрагментов, подсчёту подстрок и работе с ограничениями на символы внутри фрагмента.

Рекомендуемый порядок работы: сначала решить задачу самостоятельно, затем проверить ответ, а подсказку и решение открывать только после попытки.

Автор: wilgelmzwer , 24 мая 2026
24052026_9_24
Условие задачи

Текстовый файл содержит строку из символов A, B, C и D.

Определите количество непрерывных фрагментов строки, которые начинаются на букву A, заканчиваются на букву A и содержат ровно 30 букв C.

В ответе запишите одно целое число.

Для выполнения задания используйте файл: 24_A_30_C_01.txt

Файлы к задаче
Подсказка

Удобно рассматривать позиции всех букв C. Если фрагмент содержит ровно 30 букв C, то его левая граница должна находиться после предыдущей C, а правая — перед следующей C.

Для каждого набора из 30 подряд идущих букв C нужно посчитать, сколько букв A может быть началом фрагмента и сколько букв A может быть концом фрагмента.

Решение

Найдём позиции всех букв C. Добавим фиктивные позиции -1 и len(s), чтобы удобно обрабатывать начало и конец строки.

Будем брать каждые 30 подряд идущих букв C. Для такого набора левая граница фрагмента может находиться после предыдущей C, а правая граница — перед следующей C.

Так как фрагмент должен начинаться и заканчиваться на A, нужно перемножить количество букв A в левой допустимой зоне и количество букв A в правой допустимой зоне.

s = open('24_A_30_C_01.txt').read().strip()

c = [-1]
for i, ch in enumerate(s):
    if ch == 'C':
        c.append(i)
c.append(len(s))

ans = 0
k = 30

for i in range(1, len(c) - k):
    left_zone_l = c[i - 1] + 1
    left_zone_r = c[i]

    right_zone_l = c[i + k - 1]
    right_zone_r = c[i + k] - 1

    left_a = s[left_zone_l:left_zone_r + 1].count('A')
    right_a = s[right_zone_l:right_zone_r + 1].count('A')

    ans += left_a * right_a

print(ans)

Ответ: 3047.

ЕГЭ
Задание 24
ЕГЭ №24
Строки
Подстроки
2 - простая
Авторская задача
Автор: wilgelmzwer , 24 мая 2026
24052026_8_24
Условие задачи

Текстовый файл содержит строку из символов A, B, C, D и E.

Определите максимальную длину непрерывного фрагмента строки, в котором буква A встречается не более 50 раз.

В ответе запишите одно целое число.

Для выполнения задания используйте файл: 24_50_A_01.txt

Файлы к задаче
Подсказка

Можно использовать метод двух указателей. Будем поддерживать текущий фрагмент строки и количество букв A внутри него.

Если букв A стало больше 50, нужно сдвигать левую границу фрагмента вправо, пока условие снова не станет выполненным.

Решение

Будем идти по строке справа налево? Нет, удобнее идти слева направо и поддерживать окно — текущий фрагмент строки.

Переменная left хранит левую границу фрагмента, а count_a — количество букв A внутри него.

s = open('24_50_A_01.txt').read().strip()

left = 0
count_a = 0
best = 0

for right, ch in enumerate(s):
    if ch == 'A':
        count_a += 1

    while count_a > 50:
        if s[left] == 'A':
            count_a -= 1
        left += 1

    best = max(best, right - left + 1)

print(best)

Ответ: 4225.

ЕГЭ
Задание 24
ЕГЭ №24
Строки
Подстроки
Анализ условия
2 - простая
Авторская задача