 I am getting hard time with this problemlightoj 1296 — Again Stone GameThere are Npiles,each pile contains max 2^31 stones. you must have to pick at least one and you can pick at most half of the stones. I have seen solutions of this problem but I still don't understand how it works :(. I will be using term SGN as SpragueGrundy Number. If a pile has 3 stones what should be its SGN? my analysis says it should be like

 SGN(1)=0,

 SGN(2)= mex(1) = 1, since we must have to take 1 stone, we have only one choice

 SGN(3)= mex(1) = 1, since we must have to take 1 stone, we have only one choice

 Now the solution to this problem I have seen says SGN(3) is 0 which unfortunately, I don't understand how :(
 I have just started to learn SpragueGrundy Number. I am looking for help to make me understanding how the calculation of SGN is defined for this problem. May be I have misunderstood the meaning of MEX defined in SGN.
Auto comment: topic has been updated by ivplay (previous revision, new revision, compare).
Auto comment: topic has been updated by ivplay (previous revision, new revision, compare).
SGN(3) is zero because a pile with 3 stones is a Pposition. I'd suppose "half" here is defined as floor(N / 2). Now, if you have 3 stones, then you are forced to pick one stone and end up in a position with 2 stones, which is a Nposition. That's why SGN(3) = 0. In general, by definition SGN(n) = mex({SGN(n  n / 2), ..., SGN(n  1)}). Try to find a closed form and prove it by induction. That's how this problem is supposed to be approached.
Good luck!