There is a classical italian two-player card game that works like this.
Split a $40$ card deck in two: give each half to a player, facing down.
Player $A$ begins by drawing a card. Alternatively, each player draws a card until a $1,2$ or $3$ appear. If one of these three cards is drawn, say by player $A$, player $B$ must start drawing cards from his deck. He stops in the two following cases:
- If he draws as many cards as the value of the $1,2,3$ card: in this case, player $A$ takes all the cards on the table and places them on the bottom of his deck.
- If he draws a $1,2$ or $3$. In this case, the opponent must start drawing cards from his deck with the same rules.
Whoever is able to leave the opponent without cards in his deck wins.
Clearly, the game is completely deterministic: no strategies are involved. By knowing the order of the $40$ card deck, one can simulate the game and determine whether the player with the first or the second half wins.
I have played a sufficient number of games as a kid with my grandparents that I consider myself pretty much sure that this game will always terminate. I have two questions:
- Question 1: is there any simple reason why this game should terminate at all, without bruteforcing the problem?
- Question 2: is it possible to give necessary and sufficient conditions on the order of the cards in the deck such that the player with the first half will win?
Feel free to edit the tags or propose migration to other .se sites as I do not know if the question is appropriate here.