Tournament Scheduling: Two Solutions
Combinatorics  ·  Graph Theory  ·  Waterloo 2009

Problem. Six soccer teams are competing in a tournament. Every team plays exactly three games, each against a different opponent. (Not every pair of teams plays each other.) How many different schedules are possible?

Graph theory framing. Represent each team as a vertex and each game as an edge connecting the two teams that play. The condition “every team plays exactly 3 games” means every vertex has degree 3. We must count all such graphs on 6 labeled vertices.

A quick check: since each edge contributes 2 to the total degree sum, the number of games per schedule is (6 × 3) / 2 = 9. Figure 1 shows one example.

1 2 3 4 5 6 within-group game cross-group game
Figure 1. One valid schedule as a graph. Every vertex (team) has exactly 3 edges (games). This particular schedule is called the prism.

Solution 1 — Direct Count

We classify all possible 3-regular graphs on 6 vertices. There are exactly two structurally distinct types.

Step 1: The two schedule types

Type 1: The Prism two triangles + a matching 1 2 3 4 5 6 Type 2: K3,3 (complete bipartite) every cross-group pair plays; no intra-group games 1 2 3 4 5 6 Group A Group B
Figure 2. The only two structural types of valid schedule. Every valid schedule on 6 labeled teams is a relabeling of one of these two shapes.

Why are these the only two types? Suppose some vertex (say team 1) belongs to a triangle with teams 2 and 3. Since each of teams 1, 2, 3 has degree 3 and already has 2 edges within the triangle, each must have exactly one edge leaving the triangle to some vertex in {4, 5, 6}. These three edges are distinct (they go to different vertices), so they form a perfect matching between {1, 2, 3} and {4, 5, 6}. Teams 4, 5, 6 each receive one cross-group edge, leaving each with 2 edges still needed — which must lie within {4, 5, 6}, forming a second triangle. This gives the Prism. Conversely, if no triangle exists, one can verify the only possibility is K3,3.

Step 2: Counting Type 2 schedules (K3,3)

We only need to choose which 3 teams form Group A (the remaining 3 form Group B automatically, and the schedule is then fully determined). Since the partition {A,B,C} vs {D,E,F} is the same schedule as {D,E,F} vs {A,B,C}, divide by 2.

Number of Type 2 schedules  =  C(6, 3)2  =  202  =  10

Step 3: Counting Type 1 schedules (Prism)

A Prism schedule requires two independent choices:

Different matchings produce genuinely different sets of games, so we multiply:

Number of Type 1 schedules  =  C(6, 3)2 × 3!  =  10 × 6  =  60

Step 4: Total

Every valid schedule is exactly one of these two types, so:

Total schedules  =  60 + 10  =  70

Answer: 70 schedules

Solution 2 — Complement Approach

Instead of asking which games are played, we ask which games are omitted.

In a full round-robin among 6 teams, every pair would play — that is K6, with C(6,2) = 15 games. Our schedule uses only 9 of these, so exactly 6 games are omitted per schedule. Since each team has 5 opponents in K6 but plays only 3, each team skips exactly 2 games. The 6 omitted games form their own graph — the complement of the schedule — in which every vertex has degree exactly 2.

1 2 3 4 5 6 scheduled game (9) omitted game (6)
Figure 3. K6 drawn as a hexagon for a specific K3,3 schedule. Thin edges are the 9 scheduled games; thick dashed edges are the 6 omitted games, which form two inscribed triangles — the complement of this schedule.
Key insight. Counting valid schedules (3-regular graphs on 6 vertices) is equivalent to counting their complements, which are 2-regular graphs on 6 vertices — graphs where every vertex has degree exactly 2.

Step 1: Structure of 2-regular graphs

A 2-regular graph is always a disjoint union of cycles covering all vertices. (Following any path, you can never get stuck — degree 2 guarantees a next edge — and you can never branch, so every path must eventually loop back to its start.)

We must partition all 6 vertices into cycles, each of length at least 3 (no loops or double edges). The partitions of 6 into parts ≥ 3 are:

Other partitions are impossible: 4+2 and 5+1 fail because 2 and 1 are less than 3.

Case 1: one 6-cycle 1 2 3 4 5 6 Case 2: two triangles 1 2 3 4 5 6
Figure 4. The two possible structures for the complement graph (the 6 omitted games). Dashed edges represent omitted games. Each vertex has exactly 2 dashed edges in both cases.

Step 2: Counting Case 1 — 6-cycle complement

How many distinct labeled 6-cycles exist on 6 vertices? There are 6! ways to arrange 6 teams in a sequence, but each cycle is counted 6 times by rotation and 2 times by the direction of traversal:

Number of distinct labeled 6-cycles  =  6!6 × 2  =  (6−1)!2  =  1202  =  60

Each 6-cycle complement gives a unique schedule, so there are 60 schedules of this type.

Step 3: Counting Case 2 — two-triangle complement

Choose which 3 vertices form the first triangle: C(6,3) = 20 ways. The remaining 3 form the second triangle automatically. Since the two triangles play symmetric roles (neither is “first”), we divide by 2.

Number of two-triangle partitions  =  C(6, 3)2  =  202  =  10

For each partition, there is exactly one triangle on any given 3 labeled vertices — by the same cycle-counting formula: (3−1)!/2 = 1. So each partition determines a unique complement, giving 10 schedules of this type.

Step 4: Total

Total schedules  =  60 + 10  =  70

Answer: 70 schedules

Connection Between the Two Approaches

Both solutions partition all valid schedules into the same two cases, arrived at from opposite directions. The complement of a Prism schedule is a 6-cycle; the complement of a K3,3 schedule is two triangles. The table below shows the exact correspondence.

Solution 1 (direct — schedule graph) Solution 2 (indirect — complement graph) Count
Prism
Contains triangles. Two groups play within each group, plus a cross-group matching.
Complement is a 6-cycle
The 6 omitted games form a single hexagonal cycle. Number of labeled 6-cycles = (6−1)!/2.
60
K3,3
Triangle-free. All games cross the two-group boundary.
Complement is two triangles
The 6 omitted games form two disjoint 3-cycles. Number of two-triangle partitions = C(6,3)/2.
10
Total 70

Notice also the interplay of the two counting techniques:

Both approaches ultimately rest on the same algebraic facts; the complement lens simply offers a cleaner path to the harder case. As a general problem-solving principle: when the structure of what is present is difficult to classify directly, it can help to classify what is absent instead.