SEARCH HOME
 Math Central Quandaries & Queries
 Question from Hazel: I have to make a schedule for my pool league. I have twenty teams each of which must play all other teams. I have ten tables which must also be rotated to all teams play on all tables.

Hazel,

I think this might work for you. Sorry that it is a bit complicated.

First let’s schedule the games. Number the teams X, 1, 2, …, 19. Start like this:

Round 1: X 1, 19 2, 18 3, 17 4, 16 5, 15 6, 14 7, 13 8, 12 9, 11 10
Round 2: X 2, 1 3, 19 4, 18 5, 17 6, 16 7, 15 8, 14 9, 13 10, 12 11
Round 3: X 3, 2 4, 1 5, 19 6, …

The first game in round i is X i. To get the rest of the games, look at the previous round and add 1 to every team number in every game, and 19 + 1 wraps around to 1 (as if it were a clock with 19 hours). The next games after 19 6 in round 3 are 18 7, 17 8, ...

Now you need to schedule the tables. Thinking of the schedule above as an array with 10 columns, subject to the modifications below, the games in columns 2, 3, …, 10 are on tables 2, 3, …, 10, respectively

We’re almost done.
In round 1, put the game X 1 on table 1.
For round r = 2,3, …, 10, move the game scheduled to be on table r to table 1, and put the game X r on table r.
In round 11. put the game between X and 11 on table 1.
For round r = 12, 13, …, 19, move the game scheduled to be on table r-10 (last digit of r) to table 1, and put the game X r on table r-10.

—Victoria

Math Central is supported by the University of Regina and the Imperial Oil Foundation.