19 задание ЕГЭ по информатике: как решать игры
Чтобы решить 19 задание ЕГЭ по информатике, выпиши допустимые ходы, условие окончания игры и требование к победе. Затем проверь нужные позиции: иногда достаточно найти один удачный ход, а иногда необходимо учесть все ответы соперника.
Как решать 19 задание ЕГЭ по информатике
В задании № 19 рассматривается логическая игра двух игроков. Они по очереди изменяют позицию по заданным правилам: например, добавляют камни или увеличивают кучу в несколько раз. Позиция — это полное описание текущего состояния: размер одной кучи или пара размеров двух куч.
Сначала переведи вопрос в точное условие. «Может выиграть первым ходом» означает, что существует хотя бы один ход, сразу завершающий игру. «При любом ходе соперника» означает, что требуется проверить каждый допустимый ответ. Эти формулировки требуют разных проверок даже при одинаковых правилах игры.
Не определяй способ решения только по номеру задания. Прочитай, кто ходит первым, кто должен победить и какие ограничения наложены на предыдущие ходы. Слово «неудачный» часто указывает на существование подходящего ошибочного хода, но точный смысл задаёт весь вопрос.
- Запиши начальную позицию и допустимый диапазон неизвестного числа.
- Перечисли все разрешённые действия за один ход.
- Зафиксируй условие завершения: например, сумма не менее порога.
- Отметь, требуется один подходящий ход или проверка всех продолжений.
19 задание ЕГЭ по информатике: две кучи и решение руками
Обозначь размеры куч через a и b. Если разрешено добавить один камень в любую кучу или удвоить любую кучу, получаются четыре позиции: (a + 1, b), (a, b + 1), (2 * a, b), (a, 2 * b). За один ход меняется только одна куча.
Когда игра заканчивается при сумме не менее T, для победы первым ходом проверь четыре неравенства: a + 1 + b >= T, a + b + 1 >= T, 2 * a + b >= T, a + 2 * b >= T. Два прибавления дают одинаковую сумму, но оставляют разные позиции: для следующих ходов это различие важно.
Если одна куча известна, подставь её размер и реши неравенства относительно второй. Из допустимых целых значений выбери требуемое вопросом. Для поиска минимума достаточно, чтобы выполнялось хотя бы одно условие победного хода; одновременное выполнение всех условий не требуется.
Затем проверь границу: найденное значение должно допускать победный ход, а предыдущее допустимое целое — уже нет. До первого хода начальная позиция должна оставаться незавершённой, если именно так устроено условие.
- Не заменяй пару размеров куч одной суммой: удвоение зависит от выбранной кучи.
- При условии «не менее» учитывай и точное достижение порога, и превышение.
- Не продолжай дерево после позиции, в которой игра уже закончилась.
Пример задания из банка «Ранга»
Этот пример помогает отработать четыре допустимых перехода для двух куч и поиск минимального начального значения. Сначала составь условия победы первым ходом, затем проверь границу найденного диапазона.
Условие. Два игрока, Петя и Ваня, играют в следующую игру. Перед ними две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч один камень или увеличить количество камней в одной из куч в два раза.
Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 53. Победителем считается игрок, сделавший последний ход, то есть первым получивший позицию, в которой в кучах будет 53 или больше камней.
В начальный момент в первой куче было 7 камней. Укажи наименьшее число камней во второй куче, при котором Петя выигрывает первым же ходом. В ответе запиши только целое число.
Показать ответ и решение
- Выигрыш первым ходом означает, что хотя бы один из четырёх возможных ходов сразу доводит сумму камней до конечного значения.
- Выпиши все четыре хода из позиции и запиши для каждого получающуюся сумму камней.
Ответ: 23
19 задание ЕГЭ по информатике: код на Python
Программа удобна для перебора начальных значений и проверки нескольких уровней игры. Раздели правила и вопрос: одна функция перечисляет ходы, другая распознаёт конец игры, остальные проверяют нужное условие. Тогда при смене задачи ты сможешь отдельно обновить операции и критерий победы.
Ниже шаблон для двух куч с прибавлением единицы, удвоением и завершением при сумме не менее 53. Он описывает проверки, но не выводит ответ к примеру. Функция win1 получает позицию перед ходом игрока и отвечает, может ли этот игрок закончить игру одним действием.
def moves(a, b): return [(a + 1, b), (a, b + 1), (2 * a, b), (a, 2 * b)] def end(a, b): return a + b >= 53 def win1(a, b): if end(a, b): return False return any(end(*p) for p in moves(a, b)) def vanya_after_bad_move(a, b): if end(a, b): return False return any( not end(*p) and win1(*p) for p in moves(a, b) ) def vanya_after_any_move(a, b): if end(a, b): return False return all( not end(*p) and win1(*p) for p in moves(a, b) )
В vanya_after_bad_move достаточно одного хода Пети, после которого Ваня выигрывает сразу. В vanya_after_any_move это должно выполняться после каждого хода Пети. Проверка not end(*p) нужна, потому что после победного хода Пети очередь Вани уже не наступит.
Для перебора вызывай нужную функцию на каждой разрешённой начальной позиции. Собирай подходящие значения в список и только затем выбирай минимум, максимум или несколько чисел согласно вопросу. Не подставляй произвольный диапазон вместо указанного в условии.
- any означает «существует хотя бы один подходящий вариант».
- all означает «подходит каждый допустимый вариант».
- Перед запуском проверь, совпадают ли операции и порог в коде с условием.
Одна куча и Excel: как организовать проверку
Если куча одна, позиция задаётся числом s. Например, при разрешённых операциях +1 и *2 следующие позиции — s + 1 и 2 * s. Для победы первым ходом при пороге T достаточно проверить s + 1 >= T или 2 * s >= T.
Решение руками удобно для коротких неравенств и небольшого числа ветвей. Записывай рядом с каждым переходом действие и имя игрока: это помогает отличать второй ход Пети от второго хода всей партии. Если ветвей становится много, перенеси проверку в таблицу или программу.
В Excel размести исходные значения в строках, а результаты допустимых ходов — в отдельных столбцах. Следом добавь логические проверки достижения порога и объединяй их через ИЛИ для существования хода либо через И для требования ко всем ходам. Для двух куч сохраняй обе координаты каждого результата.
При проверке нескольких ходов таблица быстро разрастается. Сначала проверь вручную одну строку и формулы после копирования: ошибочная ссылка на ячейку может дать правдоподобную, но неверную последовательность ответов.
- Для одной кучи храни один размер; для двух — пару размеров.
- Подписывай столбцы действиями, чтобы видеть пропущенные переходы.
- Проверяй отдельно исходную позицию, результат хода и признак завершения игры.
ЕГЭ по информатике: задания 19–21 и глубина стратегии
В заданиях № 19, № 20 и № 21 могут использоваться общие правила игры, но разные вопросы. Поэтому сохраняй функцию переходов и заново формулируй требование к победе. Утверждение «выигрывает своим вторым ходом» нельзя заменить проверкой победы за одно действие.
Для стратегии победы Пети своим вторым ходом ищи такой первый ход, после которого Ваня не сможет завершить игру, а каждый допустимый ответ Вани оставит Пете возможность выиграть сразу. Здесь выбор первого хода проверяется через «существует», а ответы соперника — через «для всех».
Условие «не может выиграть первым ходом» проверяй отдельно, когда оно присутствует. Также различай «ровно вторым ходом» и «первым или вторым ходом»: разрешённые сроки победы влияют на результат. Для вопросов о стратегии Вани учитывай все допустимые первые ходы Пети.
Нарисуй дерево для одного кандидата, подпиши очередность игроков и выдели завершающие позиции. Дерево помогает проверить смысл программы: правильный синтаксис сам по себе не подтверждает, что код отвечает на поставленный вопрос.
- Сначала сформулируй победу за один ход.
- Затем опиши позицию, из которой любой ответ соперника позволяет выиграть сразу.
- Соединяй проверки в порядке ходов, каждый раз уточняя, чей сейчас выбор.
Типичные ошибки и план тренировки
Частая ошибка — требовать удобной игры от соперника там, где нужна стратегия против любого его ответа. Другая — считать найденный пример доказательством минимальности. Один удачный вариант подтверждает возможность победы, но для минимума нужно исключить все меньшие допустимые значения.
Для тренировки возьми несколько задач с одной кучей, затем перейди к двум и к вопросам о следующих ходах. В «Ранге» можно потренироваться на задании № 19 с проверкой ответа. После ошибки сначала установи её причину: неверный переход, пропущенная ветвь, перепутанная очередь или неправильное чтение вопроса.
- Перед вычислениями перепиши вопрос одной фразой с «существует» или «для всех».
- Вручную проверь один подходящий и один неподходящий старт.
- Для минимального ответа проверь соседнее меньшее допустимое значение.
- Сверь формат ответа: одно число или набор значений в указанном порядке.
Частые вопросы
Как решать 19 задание ЕГЭ по информатике без программирования?
Выпиши результаты всех допустимых ходов и сравни их с условием завершения игры. Для победы первым ходом обычно достаточно неравенств; если вопрос касается ответа соперника, потребуется дерево продолжений.
Подходит ли один шаблон Python для любого задания № 19?
Можно сохранить структуру с функциями переходов и проверки завершения. Сами операции, диапазон начальных значений и сочетание any и all необходимо выбирать по конкретному условию.
Чем отличаются задания с одной и двумя кучами?
Для одной кучи достаточно хранить её размер, для двух нужна пара чисел. Одинаковая сумма двух куч не означает одинаковые возможности: увеличение отдельной кучи может давать разные результаты.
Как проверить задание № 19 ЕГЭ по информатике текущего года?
На сайте ФИПИ открой раздел ЕГЭ, затем демоверсии, спецификации и кодификаторы по информатике текущего года. Сверь содержание задания и требования к ответу; в решении руководствуйся точной формулировкой выбранной задачи.
Почему код находит ответ, а ручное решение даёт другое число?
Проверь знак сравнения, границы перебора и момент остановки игры. Затем распечатай допустимые ходы для спорной позиции и сопоставь их с деревом: так можно обнаружить пропущенную ветвь или неверное условие any либо all.
Полезно по теме
Читать дальше
Проверить себя в тренажёре
Открывается тренировочное задание в формате ЕГЭ: условие видно сразу, краткий ответ проверяется без регистрации.
Решить задание в тренажёреМатериал — разъяснение «Ранг». Официальные правила экзамена, расписание, шкалы баллов и перечни заданий публикуют ФИПИ (fipi.ru) и Рособрнадзор (obrnadzor.gov.ru). Мы не обещаем конкретных баллов: результат зависит от твоей работы.