问题描述
有n名选手,其中n=2k。设计一个满足以下要求的比赛日程表:
(1) 每个选手必须与其他n-1个选手各赛一次;
(2) 每个选手一天只能赛一次;
(3) 循环赛一共进行n-1天。
按此要求,将比赛日程表设计成一个 n 行n-1列的二维表,其中,第 i 行第 j 列表示和第 i 个选手在第 j 天比赛的选手。
输入格式
一个整数k(1<=k<=8)
输出格式
一个n*n的数字矩阵,表示赛程表,每行数字以空格作为间隔。第一列从上到下分别是1到n,后面n-1列是比赛日程表。比赛日程表的安排方式很多,请找出字典序最小的方案。具体样式参见样例数据。n=2k
样例输入
3
样例输出
1 2 3 4 5 6 7 8
2 1 4 3 6 5 8 7
3 4 1 2 7 8 5 6
4 3 2 1 8 7 6 5
5 6 7 8 1 2 3 4
6 5 8 7 2 1 4 3
7 8 5 6 3 4 1 2
8 7 6 5 4 3 2 1
思考
• 为什么题目要让 = 2 呢?
• 肯定是要递归,调用