Cykelfest
Enter the number of groups (a multiple of 3, at least 9) to see who hosts each course and which three groups meet at every table.
How does this work?
In Designing Progressive Dinner Parties, Douglas R. Stinson presents a simple method for constructing schedules.
For v groups (v ≥ 9, v ≡ 0 (mod 3), v ≠ 12), we let w = v / 3. Each group is identified by coordinates (i, c) ∈ ℤ_w × {0, 1, 2}, where c ∈ {0, 1, 2} represents the course they host (Starter, Main, or Dessert).
Following Theorem 2.3 in the referenced paper, three parallel classes of blocks are formed modulo w:
- Starter (P₀): Tables of {(i, 0), (i, 1), (i, 2)} (mod w) — hosted by group with c = 0.
- Main (P₁): Tables of {(i, 0), (i + 1, 1), (i + 2, 2)} (mod w) — hosted by group with c = 1.
- Dessert (P₂): Tables of {(i, 0), (i + 2, 1), (i + 4, 2)} (mod w) — hosted by group with c = 2.
Groups
Starter
- Couple 1 hosts 2 and 3
- Couple 4 hosts 5 and 6
- Couple 7 hosts 8 and 9
Main
- Couple 2 hosts 7 and 6
- Couple 5 hosts 1 and 9
- Couple 8 hosts 4 and 3
Desert
- Couple 3 hosts 7 and 5
- Couple 6 hosts 1 and 8
- Couple 9 hosts 4 and 2