19.02 Перекладывание камней две кучи
Ошибка.
Попробуйте повторить позже
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в большую кучу любое количество камней от одного до количества камней в этой куче. Изменять количество камней в меньшей куче не разрешается. Если кучи содержат равное количество камней, добавлять камни можно в любую из них. Игра завершается, когда общее количество камней в кучах становится более 60. Победителем считается игрок, сделавший последний ход, то есть первым получивший 61 или больше камней в двух кучах. Известно, что Петя смог выиграть первым ходом.
Какое наименьшее число камней могло быть суммарно в двух кучах?
Возьмём минимально возможную сумму: . Пусть в одной куче был
камень, тогда, во второй куче камней было от
до
. Так как нам необходимо минимальное количество камней, то берем число
. Общая сумма:
.
Программная реализация:
from functools import lru_cache @lru_cache(None) def f(a,b,c = 0): if a+b >= 61: return 0 if c > 2: return 10000 if a > b: t = [f(a+i,b,c+1) for i in range(1, a+1)] else: t = [f(a,b+i,c+1) for i in range(1, b+1)] n = [i for i in t if i <= 0] if n: return -max(n) + 1 return -max(t) ans = [] for i in range(1,61): for j in range(1,61): if f(i,j) == 1: ans += [i+j] print(min(ans))
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

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

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

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

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

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!