Стратегия Полины и Вики
創建於:2025年1月8日
創建於:2025年1月8日
Полина и Вика решили поиграть. Перед ними лежат две кучи камней. За один ход игрок может убрать из любой кучи четыре камня или уменьшить количество камней в куче в три раза (с округлением в меньшую сторону). При этом нельзя повторять предыдущий ход оппонента с той же кучей.
Например, пусть в одной куче 8, а в другой 11 камней; эту позицию мы будем обозначать так: (8, 11). За один ход из позиции (8, 11) можно получить любую из четырёх позиций: (4, 11), (8, 7), (2, 11), (8, 3).
Игра завершается в тот момент, когда суммарное количество камней в кучах становится не более 42. Победителем считается игрок, который сделал последний ход, то есть первым получил позицию, в которой в кучах будет 42 камня или меньше. В начале игры в первой куче было 50, во второй —
S
S камней,
S
1
S>1. Первый ход делает Полина.
У игрока выигрышная стратегия, если он может победить при любых ходах противника.
Найдите максимальное значение
S
S, при котором одновременно выполняются два условия:
у Вики есть выигрышная стратегия, которая позволяет ей выиграть первым или вторым ходом при любой игре Полины
у Вики нет стратегии, которая позволит ей гарантированно выиграть первым ходом
Ниже приводится разбор задачи по шагам. Сразу оговоримся, что игра заканчивается, как только сумма камней в двух кучах становится . Выигрывает тот, кто сделал ход, после которого сумма стала .
«Нельзя повторять предыдущий ход оппонента с той же кучей» означает, например, если оппонент только что «убрал 4 камня из первой кучи», то на своём следующем ходу вы не можете «убрать 4 камня из первой кучи»; но убрать 4 из второй – можно, или же поделить первую на 3 – можно и т.д.
Другими словами:
Нужно найти наибольшее , для которого оба эти условия одновременно выполняются.
Прежде всего отметим «угрозу» со стороны Полины на самом первом ходу:
Если при этом , то есть , игра сразу заканчивается победой Полины.
Значит, для того чтобы Вика вообще имела ненулевые шансы, нужно
Далее всюду считаем . Тогда Полина не может закончить игру на своём первом ходу.
Предположим, после хода Полины образовалась позиция . Если Вика может одним ходом сделать , она немедленно выигрывает.
Главные «мощные» ходы – это деление куч на 3. Обратите внимание, что деление 50 на 3 даёт 16 (уменьшение сразу на 34 камня), а деление какого-то может дать . Также можно убирать «4 камня» из подходящей кучи.
Если бы Полина на своём ходу сделала, например, «», то мы получаем . Тогда Вика может (если это выгодно) опять «разделить первую кучу» () = – это уменьшение суммы сразу на 11 единиц. А если , то Вика выигрывает сразу. Отсюда понятно, что если не слишком велико, подобные двойные деления быстро приводят к выигрышу Вики.
С другой стороны, если Полина «вычитает 4» из какой-то кучи, то, хотя сумма убывает только на 4, зато Вика при желании может делить ту же кучу, которую Полина не делила (а значит, не действует запрет «делить ту же кучу тем же способом»), и получить большой скачок вниз по сумме.
Чтобы у Вики не было «гарантированного» выигрыша ходом №2, Полина должна подобрать такой первый ход, после которого любое действие Вики не делает сумму .
Самый типичный «мешающий» приём: Полина снимает 4 камня из первой кучи (из 50), получая .
Проверяется (в конкретных числах), не даёт ли какой-то из этих трёх ходов сумму . Если при всех трёх вариантах получается , значит на ходу №2 Вика не выигрывает.
Далее, если в итоге Полина ещё и может на своём следующем ходу (ход №3) добить сумму , то вообще выигрывает Полина, и у Вики нет выигрышной стратегии. А вот если, наоборот, после (46, ) у Вики есть способ сходить так, что
тогда всё срастается в пользу Вики.
Давайте посмотрим, что будет, если .
Мы уже знаем: чтобы Полина выиграла одним ходом, нужно, чтобы деление 50 на 3 или деление на 3 или вычитание 4 камней сразу дали сумму .
Ничего не даёт . Значит, Полина не выигрывает на первом же ходу (что и требовалось).
Скажем, если Полина вдруг разделит первую кучу (получая ), Вика может снова разделить первую, получая . Сумма . Вика выиграла сразу на ходу №2.
Аналогично, если Полина решит разделить вторую кучу (), получится . Тогда Вика может сходу «разделить первую» . Сумма . Опять мгновенная победа Вики.
Поэтому Полине при невыгодно ход №1 делать делением: она сразу пропустит победу Вики.
Эти два случая по сути зеркальны (просто поменялись кучами 50 и 32 / 28), поэтому рассмотрим подробнее .
Вика не может «снять 4 из первой» (запрещено повторять тот же приём в той же куче), а значит у неё три оставшихся варианта:
Проверим, не даёт ли какое-то из них сразу?
Значит, Вика не выигрывает на ходу №2 (это и есть та самая ситуация, когда «Вике помешали выиграть сразу», то есть пункт (ii) задачи выполняется).
Однако теперь важно:
Оказывается, есть единственный «спасительный» для Вики выбор из трёх:
Если Вика сделает (2) или (3), то есть или , тогда на следующем ходу Полина сразу поделит (или вычтет 4 из) первую кучу – и получит сумму . В буквальном вычислении:
Из Полина может убрать 4 из первой ( даёт , тут надо аккуратно проверять повторения…) или, скажем, убрать 4 из второй, и т. д. На практике оказывается, что Полина-таки доводит до .
Из Полина может поделить первую , сумма , и немедленно выигрывает.
Иными словами, (2) и (3) ведут к быстрому выигрышу Полины.
Если же Вика сделает (1), то есть перейдёт к , тогда Полина на ходу №3 не сможет добить . (Проверяется так же «вручную»: из никакое «снять 4» или «поделить» не уводит сразу в сумму .)
Таким образом, оптимальный ход Вики №2 из — именно «убрать 4 из второй», получая . После этого у Полины на ходу №3 нет одноходового выигрыша.
Проверка показывает, что никакой из этих ходов не даёт сумму сразу:
Значит, Полина не выигрывает на ходу №3.
Теперь Вика ходит из одной из трёх возможных позиций:
. Последний ход Полины был «снять 4 из первой», значит Вике нельзя «снять 4 из первой», но можно:
Выгодно «поделить первую», и Вика выигрывает (сумма 42).
. Последний ход Полины был «поделить первую», значит Вика не может «поделить первую», но может:
Любой ход тут даёт . Вика снова выигрывает.
. Последний ход Полины был «поделить вторую», значит Вика не может «поделить вторую», но может:
Делим первую — получаем 24. Вика выигрывает.
Таким образом, в любом случае на четвёртом ходу партия заканчивается в пользу Вики.
Ровно то же самое (зеркально) случается, если Полина в самом начале «сняла 4» из второй кучи: Вика зеркально отвечает, и в итоге всё заканчивается на ход №4 выигрышем Вики.
Итог по :
Значит, оба условия задачи при выполняются:
Если взять и так далее, оказывается (при аккуратном анализе позиций типа ), что Полина получает ещё более удобные возможности «срезать» кучу 50 сильнее (на своём третьем ходу), а иногда и сразу же добить .
Условно говоря, чем больше , тем «безнадёжнее» становится для Вики ситуация после первого хода Полины « из первой кучи». При больших Вика вынуждена делить либо первую, либо вторую, либо вычитать 4 из второй — и почти во всех случаях уже на следующем ходе Полина может сделать решающее деление (или вычитание) так, чтобы сама достичь . В итоге у Вики теряется её «гарантия» оттянуть ход Полины и самой ударить на №4.
На практике, если разобраться с конкретными переборами, видно, что — это последний рубеж, когда у Вики ещё остается та самая «страховка» на ходу №4.
Это максимальное , при котором: