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

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

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

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

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

Игра завершается в тот момент, когда количество камней в куче становится не менее $61$.

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

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

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

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

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

За один ход можно выиграть из позиции $31$ и больше, так как: $31\cdot2=62\geq61$.

Проверим $S=29$. После любого хода Пети получится:

$29\rightarrow31$;
$29\rightarrow34$;
$29\rightarrow58$.

Из каждой позиции Ваня выигрывает одним ходом:

$31\rightarrow62$;
$34\rightarrow68$;
$58\rightarrow63$.

При $S=28$ Петя может сделать ход $28\rightarrow30$, после которого Ваня сразу выиграть не может.

Следовательно, минимальное значение $S=29$.

Ответ: $29$.

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

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

def win1(x):
    return x < 61 and any(
        y >= 61 for y in moves(x)
    )

for S in range(1, 61):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

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

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

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