A game is played with tokens according to the following rule. In each round, the player with the most tokens gives one token to each of the other players and also places one token in the discard pile. The game ends when some player runs out of tokens. Players , , and start with , , and tokens, respectively. How many rounds will there be in the game?
- A)
- B)
- C)
- D)
- E)
Answer
B
Key insight
Every three rounds each player loses exactly one token, so after 36 rounds the holdings are 3, 2, 1 and round 37 empties A.
Solution
Simulate the first few rounds, listing :
After three rounds the holdings are again "consecutive, decreasing in the order ," but each player has exactly one token fewer. This makes sense: in a three-round block every player leads once, paying tokens, and receives token in each of the other two rounds, for a net loss of .
So after rounds the holdings are . Taking , after rounds the players hold ; nobody has hit zero yet, since within each block the smallest count is at least less than the leader's starting count.
In round , player has the most tokens () and must give away all three, one to each opponent and one to the discard pile. now has tokens and the game ends.
The answer is .
Why this works
Iterated processes on the AMC usually have a short period. Simulate until the state repeats up to a simple shift, compute the net change per period, and then jump ahead in one step. The final partial period must be handled by hand, because the ending condition (someone at ) is checked round by round.
The trap
Stopping at 36 rounds when the players hold 3, 2, 1 tokens, forgetting the extra round needed for someone to actually reach zero.
Common mistakes
- Stopping at 36 rounds when the players hold 3, 2, 1 tokens, forgetting the extra round needed for someone to actually reach zero.
- Believing the game ends when the leader has fewer than tokens, or miscounting the net loss per three-round block as per player.
Techniques
Use an invariant, parity, or coloring argument · Compute small cases, spot the pattern, generalize