решай.ai · шпаргалка

Задание 19: Выигрышная стратегия. Задание 1

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

Как выглядит

Стандартная формулировка: два игрока (обычно Петя и Ваня) по очереди совершают ходы над кучей камней, добавляя фиксированное число камней или умножая кучу на постоянный множитель. Первый ход делает Петя. Игра заканчивается, когда количество камней становится не меньше заданного числа NN. Победитель — тот, кто сделал последний ход. Задание 19 обычно спрашивает про частный, «короткий» сценарий: при каком минимальном (реже максимальном) значении SS возможно, что первый ход Пети оказался неудачным (не привёл к победе), а Ваня своим первым ответным ходом сразу выиграл.

…

Что нужно знать

  • Позиция игры — число камней в куче в момент, когда очередной игрок должен сделать ход, обозначим SS.
  • Ход — операция, переводящая SS в новое значение по правилам задачи: S→S+aS \to S+a, S→S+bS \to S+b, S→kSS \to kS.
  • Финальная (терминальная) позиция — позиция, при которой игра завершена: S≥NS \ge N, где NN — заданный порог.
  • Выигрывает тот, кто сделал ход, приведший к финальной позиции.
  • Позиция выигрышная (В), если из неё существует хотя бы один ход в проигрышную позицию соперника или прямо в финал.
  • Позиция проигрышная (П), если все возможные ходы из неё ведут в выигрышные позиции соперника.
  • Метод обратной индукции: классификация всех позиций от границы NN вниз до начала диапазона.
  • Множество «предпобедных» позиций: M={S′:S′<N, ∃ ход f, f(S′)≥N}M=\{S' : S'<N,\ \exists\, \text{ход } f,\ f(S')\ge N\}.
  • Для темы «две кучи» позиция описывается парой (a,b)(a,b), ход применяется к одной или обеим кучам, а финал определяется условием на сумму, максимум или конкретную кучу.

Алгоритм

  1. Выписать все операции хода и число NN.
  2. Определить множество финальных значений: S≥NS\ge N.
  3. Построить множество предпобедных позиций MM: все S′<NS'<N, из которых хотя бы один ход даёт результат ≥N\ge N. Решить неравенства для каждой операции, взять объединение диапазонов, отсекая значения ≥N\ge N.
  4. Для каждой операции хода Пети найти диапазон SS, при котором результат попадает в MM.
  5. Взять минимум (или максимум, если требуется) по всем операциям — это искомое значение.
  6. Проверить контрольные соседние значения SS, чтобы убедиться, что более выгодного варианта нет.
  7. Если задание спрашивает максимум, действовать аналогично, учитывая верхнюю границу диапазона S≤N−1S\le N-1.

Ловушки

  • Забывают проверить, что ход Пети сам не выигрышный (результат должен быть строго меньше NN), из-за чего множество MM строится неверно.
  • Ищут только по одной операции (например, только по сложению), забывая, что множитель обычно даёт более широкий диапазон и меньшее значение SS.
  • Путают направление неравенства: для сложения S+a≥NS+a\ge N даёт S≥N−aS\ge N-a, а для умножения kS≥NkS\ge N даёт S≥N/kS\ge N/k с округлением вверх, так как SS целое.
  • Не проверяют условие S′<NS'<N при построении MM, из-за чего в множество ошибочно попадают уже финальные позиции.
  • Путают задачу на минимум с задачей на максимум при невнимательном чтении условия.
  • В задачах с двумя кучами забывают, что ход может применяться выборочно к одной из куч, и упускают часть возможных ходов при построении таблицы.
  • Не делают финальную проверку граничных значений, из-за чего пропускают более выгодный вариант ответа.
reshay.ai/ege/informatika/zadanie-19 — задачи с разборами и тренажёр

Полный гайд и задачи задания 19 →