#P16187. [Ncpc2018]Game Scheduling比赛日程安排
[Ncpc2018]Game Scheduling比赛日程安排
题目描述
有一个锦标赛,共有 支队伍,每支队伍有 名选手。请构造一个比赛日程,使得每名选手都要和 所有其它队伍 中的所有选手各比赛一次,但不需要和自己队伍中的选手比赛。
也就是说,每名选手需要参加:
场比赛。
日程被划分为若干轮。每一轮中,一名选手最多只能参加一场比赛。如果一名选手在某一轮没有比赛,则称该选手在这一轮轮空。
你的任务是构造一个日程,使得每名选手轮空的轮数不超过 。
换句话说,总轮数不能超过:
每轮的顺序、每轮中比赛的顺序,以及每场比赛中谁主谁客都不重要。
输入格式
输入一行两个整数 ,分别表示每支队伍的选手数量和队伍总数。
满足:
$$1\le n\le 25, \qquad 2\le m\le 25, \qquad n\cdot m\le 100.$$输出格式
按轮输出比赛日程,每轮一行。
每行应包含一个用空格分隔的比赛列表。每场比赛格式为:
<player>-<player>
第一支队伍的选手记作:
A1, A2, ..., An
第二支队伍的选手记作:
B1, B2, ..., Bn
依此类推。
只要输出的日程满足所有要求,即可通过。输出的轮数不得超过 。
输入输出样例 #1
输入 #1
3 2
输出 #1
A1-B2 B1-A2 A3-B3
A2-B3 B2-A3 A1-B1
A3-B1 B3-A1 A2-B2
输入输出样例 #2
输入 #2
2 3
输出 #2
A1-B1 A2-C2 B2-C1
A1-C1 A2-B1 B2-C2
A1-B2 A2-C1 B1-C2
A1-C2 A2-B2 B1-C1
输入输出样例 #3
输入 #3
1 5
输出 #3
B1-E1 C1-D1
C1-A1 D1-E1
D1-B1 E1-A1
E1-C1 A1-B1
A1-D1 B1-C1