ENG  RUSTimus Online Judge
Online Judge
Problems
Authors
Online contests
About Online Judge
Frequently asked questions
Site news
Webboard
Links
Problem set
Submit solution
Judge status
Guide
Register
Update your info
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules
back to board

Discussion of Problem 2068. Game of Nuts

Solution
Posted by miro.v.k 2 Jun 2016 22:25
Can anybody describe the solution please ?
Re: Solution
Posted by Felix_Mate 10 Jul 2016 15:30
Нужно по индукции показать, что если у нас одна куча из 2*N+1 камней (N>=0),то ходов всегда будет ровно N.
А далее игра идёт параллельно в каждой из куч(неважно какое разбиение в каждой из куч,т.к. кол-во ходов одно и тоже).
Побеждает первый игрок, если кол-во ходов нечётно, иначе-второй
Re: Solution
Posted by Alex_SyktSU 6 Jan 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
Posted by mouse_wireless2 26 Jan 2018 02:11
Classic game theory problem, can be solved with SG
https://en.wikipedia.org/wiki/Sprague%E2%80%93Grundy_theorem
Re: Solution
Posted by John 16 Jan 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