0

I am looking for an algorithm that will pair 8 players in a double round robin tournament such that no player will play the same side twice consecutively, that is, every player playing home during a round must play away the next round and vice versa.

Eight players in round robin must play seven rounds of four fixtures each in order for every player to play against every other player, so for a double round robin, each play will play as home and as away against every other player resulting in fourteen rounds of four fixtures each.

I generated the raw unsorted collection of fixtures that gives balanced home-away distribution using the code below:

for (int x = 1; x <= 8; x++)
        {
            for (int y = 8; y > x; y--)
            {
                PairThese(x, y);
            }
        }

The PairThese() methods creates a fixture with player x playing home against player y and creates another fixture with player y playing home against player x to complete the double round robin.

The problem, like aforementioned is how to arrange the fixtures such that each player will always play as home in a round and as away in the next or vice versa

0 Answers0