How can I swap players in a basketball game without anyone sitting out two games in a row Playing 4 on 4 basketball with up to 12 players (three teams) is easy to manage. But when player thirteen shows up, is there a way to work everyone in such that no one sits two games in a row?
 A: Let players 1-5 sit out the odd games. Let players 6-10 sit out the even games. 
A: Obviously the answer is yes and a pigeonhole argument would tell you that you would run in trouble if you had more than 16 players.
Now if you want to list all the possible ways to do this for 13 players it depends... Say for example that each time you want to perform the same rotation, we could model that by simply assigning labels 1 to 13 to each player. Players 1 to 4 play against players 5 to 8 and players 9 to 13 stay on the bench. At the end of the game we perform a rotation by applying a permutation.
What are the constraints? Well the players on the bench have to play so we want to make sure that no player labelled 9 to 13 gets assigned a label from 9 to 13. Then we also don't care much for the actual label a player has but merely the team that he plays in.
This means that first we'll construct our permutation by assigning to each player that was on the bench a playing position (a label from 1 to 8), there are $\frac{8!}{3!}$ ways to do this. We complete our permutation by assigning the remaining numbers to the remaining players, there are $8!$ ways to do so. Then we complete by removing duplicates. In each team the 4 players could be permuted, same with players on the bench and we can permute team 1 with team 2, hence there are
$\dfrac{8!8!}{3!4!4!5!}$
different ways to rotate the players in a way that guarantees that no players sits on the bench two games in a row.
