Введение
Высокий балл за экзамен по информатике — это не только знание синтаксиса Python или другого языка программирования, но и умение применять эффективные алгоритмы на ЕГЭ.
Первичные баллы, которые отделяют уверенный результат от максимального, выставляются за безупречное выполнение задач №25, 26 и 27.
Именно здесь проверяют твою способность не просто написать код, а найти оптимальное решение.
В этой статье разберём требования и алгоритмы решения ключевых заданий КЕГЭ. Если хочешь узнать о нелинейности шкалы перевода баллов, прогнозах ПБ/ТБ и общем плане прохождения экзамена на 90+, обратись к другой статье в нашем блоге. Подробный анализ проходных баллов в ведущие IT-вузы и стратегию поступления на бюджет можно найти здесь. Сейчас же сфокусируемся на разборе заданий и том, как оформить ответы, чтобы получить за них максимум.
Анализ самых сложных и высокобалльных задач
Задания №25–27 — ключ к максимальному первичному баллу.
Понимание их внутренней логики и точное знание критериев отличает выдающийся результат от просто хорошего.
Здесь мало дать ответ; нужно предоставить его в строго определённой форме, используя эффективные алгоритмы.
№25: делители и оптимизация (1 ПБ)
Решение задачи 25 на ЕГЭ по информатике часто связано с поиском делителей. Прямолинейный перебор всех чисел до N гарантированно приведёт к ошибке Time Limit Exceeded (TLE) на больших данных.
Ключ к успеху — оптимизация.
Основная идея: если число a является делителем N, то и число b = N // a тоже делитель. Таким образом, достаточно перебирать a только до квадратного корня из N. Каждую найденную пару (a, b) нужно корректно обработать, избегая дублирования, когда a равно b.
Алгоритм на Python для ЕГЭ по информатике:
- Считать входное число N.
- Инициализировать пустой список для хранения делителей.
- Организовать цикл for i in range(1, int(N**0.5) + 1).
- Внутри цикла проверить условие if N % i == 0. Если оно истинно, добавить i в список делителей.
- Найти парный делитель k = N // i. Если k не равен i, добавить и его в список.
- Отсортировать итоговый список и вывести результат в требуемом формате.
Важно строго следовать условию: иногда требуется вывести количество делителей, иногда — их сумму.
Ошибка в формате вывода ответа при верной логике программы приведёт к аннулированию балла за задание. За верное выполнение выставляется 1 ПБ.
№26: оптимальный выбор и моделирование (2 ПБ)
Задание 26 на ЕГЭ — на оптимизацию. Проверяет умение применять «жадные» алгоритмы (Greedy) для задач на выбор оптимального набора данных.
Классический сценарий — отбор максимального количества элементов при ограничении на суммарный параметр (вес, стоимость) с поиском минимального «неиспользованного остатка». Алгоритм решения:
- Работа с файлами на ЕГЭ по информатике — корректно считать данные из текстового файла в список.
- Преобразовать данные в числовой формат и отсортировать список по ключевому параметру.
- Итерироваться по отсортированному списку, накапливая сумму выбранных элементов, пока не будет достигнуто ограничение.
- Зафиксировать количество выбранных элементов, вычислить разницу между лимитом и накопленной суммой — это и будет минимальный остаток.
- Записать ответ в виде двух чисел в указанном порядке.
Критерии оценки жёсткие: 2 балла ставятся только за 2 полностью верных числа.
Если числа переставлены местами или верно только одно, выставляется 1 ПБ. Можно идеально решить задачу, но потерять половину баллов из-за невнимательности.
№27: эффективные алгоритмы и память (2 ПБ)
Задание 27 на ЕГЭ по информатике пошагово раскрывает суть программирования — поиск наилучшего алгоритма. Здесь есть два пути: простой, но медленный (оценка сложности O(N²)), и сложный, но быстрый (O(N) или O(N log N)).
Рассмотрим задачу на поиск максимальной суммы подмассива заданной длины M в массиве из N чисел.
- Неэффективное решение (A). Для каждого начала подмассива i от 0 до N–M вычислять сумму элементов от i до i+M–1 заново. Это приводит к вложенному циклу и сложности O(N*M), что на больших данных работает неприемлемо медленно. Такое решение может в лучшем случае принести только 1 ПБ.
- Эффективное решение (B). Использовать технику «скользящего окна» (Sliding Window). Сначала вычисляется сумма первого окна длины M. Затем для каждого следующего окна сумма пересчитывается за O(1): из предыдущей суммы вычитается элемент, выходящий из окна, и прибавляется элемент, входящий в него. Общая сложность — O(N). Именно такой алгоритм, корректно реализованный и работающий на большом файле, приносит 2 ПБ.
Критерии задания 27 прямо связаны с эффективностью алгоритма. Проверяющая система запускает код на разных наборах данных: на малом файле оба подхода могут сработать, но на большом работает только оптимизированный.
Это критически важный момент для получения максимального первичного балла за задание.
Разобравшись с самой «дорогой» частью, перейдём к задачам, где баллы часто теряются не из-за сложности, а из-за невнимательности к деталям или формату ответа.
Алгоритмы решения заданий №19–21, 23
В этих задачах проверяется умение применять готовые алгоритмические идеи на практике.
И здесь правило жёстче: даже при верной логике опечатка или несоответствие формату лишат тебя единственного возможного балла — ответ должен полностью совпадать с эталоном.
№19–21: теория игр
При решении этих задач без системного подхода не обойтись. Алгоритмы теории игр на ЕГЭ по информатике строится на анализе правил и определении выигрышных позиций. Ключевое действие — определить и записать правила:
- Определить, какие ходы возможны из любой позиции. Например, добавить 1 камень или умножить количество на 2.
- Установить условие победы. Наличие в куче 40 или более камней.
- Использовать рекурсивную или итеративную логику для «разворачивания» игры назад. A — позиция, из которой любой ход ведёт в выигрышную для соперника (проигрышная). B — позиция, из которой существует ход в проигрышную для соперника (выигрышная).
На практике для ускорения расчётов используют массив (список) для запоминания (кэширования) типов позиций. Это предотвращает повторные вычисления для одной и той же условной кучи камней, позволяет быстро находить ответы для всех трёх заданий.
№23: динамическое программирование (ДП)
Задание №23 ЕГЭ — на динамическое программирование. Это задача на подсчёт количества способов достичь цели: пройти из точки A в точку B, собрать строку по правилам. Прямой перебор всех путей здесь недопустим из-за экспоненциального роста их числа.
Алгоритм строится на двух принципах:
- Определение состояния.Что однозначно описывает текущую ситуацию? Например, координаты на плоскости или длина обработанного префикса строки.
- Построение таблицы переходов. Создаётся массив dp, где dp[i] хранит количество способов достичь состояния i. Значение вычисляется на основе предыдущих, уже известных результатов по правилу: dp[новое] = dp[старое_1] + dp[старое_2] + …
Базовый случай — это начальная позиция, количество способов попасть в неё равно 1. Далее алгоритм последовательно заполняет таблицу для всех возможных состояний. Ответом будет значение в ячейке, соответствующей целевому состоянию.
Заключение
Разбор самых сложных заданий ЕГЭ по информатике показывает одну закономерность: на высоких баллах решает не объём выученного, а качество проработки каждой детали.
Задач, дающих по 2 ПБ, всего две. Первая — №27, где верный, но медленный алгоритм на ЕГЭ-2026 по информатике оценивается лишь в 1 балл из 2. Полный балл здесь — награда за умение выйти за рамки очевидного решения и применить эффективный алгоритм, работающий за линейное время. Вторая — №26, где можно потерять половину балла, просто переставив местами два верных числа в ответе.
Имеет смысл взять за правило проверять не только корректность ответа, но и его полное соответствие критериям из официальной документации ФИПИ.
На экзамене твой код должен решать поставленную задачу, делать это оптимальным способом, выдавая результат в строго заданной форме. За счёт соответствия всем требованиям на ЕГЭ по информатике можно добиться лучшего результата из возможных.