Тема 19. Теория игр
19.01 Перекладывание камней одна куча
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела теория игр
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#63381

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу три камня или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 18 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 46. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 46 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 45  .

Найдите минимальное значение S, при котором Ваня выигрывает своим первым ходом при любой игре Пети?

Показать ответ и решение
#сколько камней в куче может получиться после хода, если до хода было s камней
def f(s):
    return s+3,s*2

#сколько ходов осталось до конца игры, если в куче сейчас s камней
def stepsLeft(s):
    if s>= 46:
        return 0
    else:
        steps = [stepsLeft(x) for x in f(s)]
        if any(x%2 == 0 for x in steps):
            return min(x for x in steps if x%2 == 0)+1
        else:
            return max(steps)+1


for s in range(1, 46):
    if stepsLeft(s) == 2: #Ваня выиграет своим первым ходом и игра закончится за два хода
        print("при s =",s," камней: игра закончится через", stepsLeft(s),"ходов")



Ответ: 20

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное обучение
в Школково

Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!