Подготовка к школе
1 класс
2 класс
3 класс
4 класс
5 класс
6 класс
7 класс
8 класс
9 класс
10 класс
11 класс
ОГЭ
ЕГЭ
Для всех
Назад

19. Выигрышная стратегия: часть 1: #295290

Сообщить о проблеме
Задание #295290
Задание было решено верно
Задание было решено неверно

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя.

За один ход игрок может добавить в кучу $2$ камня или увеличить количество камней в куче в $3$ раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче становится не менее $79$. Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу, в которой находится $79$ или больше камней.

В начальный момент в куче было $S$ камней; $1 \leq S \leq 78$.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение $S$, при котором такая ситуация возможна.

Первый способ – математическое решение

Чтобы получить минимальное $S$, Петя и Ваня должны максимально увеличивать кучу — умножать её на $3$: $S\rightarrow3S\rightarrow9S$.

Для победы Вани:

$9S\geq79$,
$S\geq8{,}77\ldots$

Минимальное целое значение $S=9$.

Проверка: $9\rightarrow27\rightarrow81$.

После хода Пети $27<79$, а после хода Вани $81\geq79$.

Второй способ – решение с помощью Python

def moves(x):
    return [x + 2, x * 3]

for S in range(1, 79):
    if any(
        x < 79 and
        any(y >= 79 for y in moves(x))
        for x in moves(S)
    ):
        print(S)
        break

Программа перебирает значения $S$ и ищет такой неудачный ход Пети, после которого Ваня может сразу выиграть.

Программа выведет: $9$.

Показать
Очки опыта 20
Спросить Зави
0 заданий сегодня

Предложить улучшение