ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 2068. Игра с орехами

Solution
Послано miro.v.k 2 июн 2016 22:25
Can anybody describe the solution please ?
Re: Solution
Послано Felix_Mate 10 июл 2016 15:30
Нужно по индукции показать, что если у нас одна куча из 2*N+1 камней (N>=0),то ходов всегда будет ровно N.
А далее игра идёт параллельно в каждой из куч(неважно какое разбиение в каждой из куч,т.к. кол-во ходов одно и тоже).
Побеждает первый игрок, если кол-во ходов нечётно, иначе-второй
Re: Solution
Послано Alex_SyktSU 6 янв 2018 23:47
Если я правильно понимаю, то тут нужно применять метод полной математической индукции.

Итак, нужно доказать, что 2*N + 1 разыгрывается за N ходов.

1. Базис. При N = 0.
В этом случае 1 куча из 1 камня. Чтобы её разыграть нужно 0 ходов.

2. Допустим, для всех n = 1 .. k утверждение верно.
Докажем для n = k + 1.

2*(k + 1) + 1 = 2*k + 1 + 2.

Эту кучу можно разложить на кучи (1, 1, 2*k+1), т.е. затратить на разбор кучи итого k + 1 ход (1 ход чтобы разложить на (1, 1, 2*k + 1) и k ходов из предоположения индукции на 3-ю кучу).

кучу 2*k + 1 + 2 можно разложить и другими способами, т.е. это будет набор
(2*k1 + 1, 2*k2 + 1, 2*k3+1),

при этом 2*k1 + 1 + 2*k2 + 1 + 2*k3 + 1 = 2*k + 3
      => k1 + k2 + k3 = k, т.е. доказали и без того очевидное, что ki < k, т.е. попадает под предположение индукции, кроме того, что после первого хода нам потребуется ещё k ходов и итого будет k+1. куеде.
Re: Solution
Послано mouse_wireless2 26 янв 2018 02:11
Classic game theory problem, can be solved with SG
https://en.wikipedia.org/wiki/Sprague%E2%80%93Grundy_theorem
Re: Solution
Послано John 16 янв 2022 02:51
My intuition... First, why not try to reduce the numbers as less as possible? That would seem like playing more turns. Well, for a pile of size n, this would mean making piles 1, 1, n-2, and the first two won't be used anymore so we could say we reduced n by 2. Is this useful? How many times can we do this? Well, floor(n/2) times, or as n is odd, (n-1)/2 times. Now keep this number. Let's try to split into arbitrary sizes, n = n1+n2+n3. The last expression is (n1+n2+n3-1)/2. How many times can we reduce by 2 with the split piles? All of them are odd, so this is (n1-1)/2 + (n2-1)/2 + (n3-1)/2 = (n1+n2+n3-1)/2 - 1. So no matter what we do for splitting, this number is always reduced by 1! And this number essentially measures how many turns we can still play, so that's all, if this number starts odd, Daenerys wins.

Edited by author 16.01.2022 02:52