Game Scheduling
Time limit3sMemory limit512 MB
Given n players per team and m teams, build a round schedule where each player plays everyone outside their own team and has at most one bye.
- Level
Hard8 of 10
- Topics
- Graph, Greedy, Implementation
- Solved
- No attempts yet
Problem
In a tournament with teams, each team consisting of players, construct a playing schedule so that each player is paired up against all players in all teams except their own. That is, each player should play games.
The playing schedule is divided into rounds. A player can play at most one game per round. If a player does not play a game in a round, that player is said to have a bye in that round.
Write a program that constructs a playing schedule so that no player has a bye in more than 1 round. In other words, the total number of rounds should be no more than .
The order of the rounds and games, and which side is home and away in a game, does not matter.
Input
The input consists of a single line with two integers and (, , ), the number of players in a team and the total number of teams, respectively.
Output
Output one line per round in the playing schedule. Each line contains a space-separated list of games. A game is written as <player>-<player>. The players in the first team are named A1, A2, ..., An, the players in the second team B1, B2, ..., Bn, and so on.