Каталог: Задания №19, 20, 21. Теория игр (Одна и две кучи камней)
Выберите номер задания ЕГЭ:
Спецификация и суть задания №20
Тема кодификатора
Выигрышные и проигрышные позиции, рекурсивная функция moves() и игра в 1-2 хода
Сложность и баллы
Повышенный / Высокий (3 балла)
Рекомендуемое время
5-8 мин
Инструменты решения
Python, Рекурсивный шаблон games(s, m)
Универсальный рекурсивный шаблон для решения всех трех заданий по теории игр (19, 20, 21) на две кучи камней за 3 минуты.
Основные прототипы и разновидности
№19: Ваня выиграл 1-м ходом после неудачного хода Пети
Поиск минимального S.
№20: Петя выиграл 2-м ходом при любой игре Вани
Поиск двух значений S.
№21: Ваня выиграл 1-м или 2-м ходом при любой игре Пети
Поиск минимального S.
Теоретический фундамент и алгоритмы
1. Универсальный шаблон теории игр на Python:
Определяем функцию game(h1, h2, moves_left), возвращающую True, если текущий игрок гарантированно выигрывает за заданное число полуходов:
- Если сумма камней $\ge WIN$: проверяем,
moves_left == 0(победа на нужном ходу). - Если ходы кончились (
moves_left == 0): поражение (False). - На своём ходу: игрок ищет ХОТЯ БЫ ОДИН выигрышный ход (
any(...)). - На ходе противника: победа должна быть при ЛЮБОМ ответе противника (
all(...)).
Лайфхаки и фишки для ускорения
Этот один рекурсивный скрипт решает сразу 3 первичных балла на экзамене за 3 минуты!
Частые ошибки и экзаменационные ловушки
❌ Ошибка в Задании 20: Забыть условие 'not game(h, 1)'
Петя должен выигрывать строго вторым ходом, а не первым!
Петя должен выигрывать строго вторым ходом, а не первым!
Правильно: Всегда проверять: not game(h, 1) and game(h, 3)
ГРОБ №19-21: Игра на 3 кучи камней или с уменьшением камней
В игре 3 кучи камней `(a, b, c)`.
Алгоритм решения: Просто добавьте третью переменную в кортеж `moves(h)` — логика функции `game` не изменится ни на символ!
Практические задачи из банка КИМ (Всего: 0)
Решать в песочнице СмартКИМГотовьтесь к ЕГЭ эффективно со СмартКИМ
Составляйте индивидуальные пробники, решайте задачи в онлайн-песочнице со встроенным компилятором Python и Web-Excel, отслеживайте статистику и делитесь результатами с учителем.
Собрать вариант КИМ