시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
3 초 | 512 MB | 20 | 15 | 13 | 81.250% |
In a tournament with m teams, each team consisting of n 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 (m − 1) · n games.
The playing schedule should be 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.
Your task is to 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 in the playing schedule should be no more than (m − 1) · n + 1.
The order of the rounds and games, and who is home and away in a game, does not matter.
The input consists of a single line with two integers n and m (1 ≤ n ≤ 25, 2 ≤ m ≤ 25, n · m ≤ 100), the number of players in a team and the total number of teams, respectively.
Output one line per round in the playing schedule. Each line should contain a space separated list of games. A game is in the format “<player>-<player>
”. The players in the first team are denoted as A1, A2, ..., An; the second team B1, B2, . . . Bn and so on.
3 2
A1-B2 B1-A2 A3-B3 A2-B3 B2-A3 A1-B1 A3-B1 B3-A1 A2-B2
2 3
A1-B1 A2-C2 B2-C1 A1-C1 A2-B1 B2-C2 A1-B2 A2-C1 B1-C2 A1-C2 A2-B2 B1-C1
1 5
B1-E1 C1-D1 C1-A1 D1-E1 D1-B1 E1-A1 E1-C1 A1-B1 A1-D1 B1-C1
ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest > NCPC 2018 G번