c - Marienbad game wrong XOR -
i working on programming puzzle, need code ai best current move win game.
the loser 1 picks last sticks.
here board :
| ||| ||||| |
so use xor operator on numbers number of sticks need remove give me : 1 xor 3 xor 5 xor 1 = 6
now :
1 xor 6 = 7 (since increased won't select case)
3 xor 6 = 5 (since increased won't select case)
5 xor 6 = 3 (since decreased reduce 5 3 removing 2 sticks.
the problem playing in "misere" version of game loser if 1 take last sticks , seems method perfect normal play winner 1 take last stick.
could explain me should in case.
the winning strategy isn't xor piles , remove many sticks 1 pile. instead, want choose number of sticks remove such xor of piles zero. example, if remove 2 sticks pile containing 5 sticks, remaining xor 1 xor 3 xor 3 xor 1 = 0.
hope helps!
Comments
Post a Comment