Reason about these out loud. No implementation needed.
-
Three teams. They now want players split across Team A, B and C, same rule: no player faces a teammate. How does your approach change?
-
Best effort. The fixture list has no valid two-team split, but they refuse to drop matches. Instead they want the assignment that honours as many of the requested matches as possible. What is this problem?
-
Live. Matches are announced one at a time across the season. After each announcement you must immediately answer either "here is a valid split" or "the list is now unsatisfiable". Re-running your batch solution per announcement is too slow. What would you reach for?
-
Fairness. They want the two teams to be within one player of the same size. Does that change the difficulty?