3103 - 循环赛日程表
时间限制 : 1 秒
内存限制 : 128 MB
有n=2^k个运动员要进行网球循环赛。现设计一个满足以下要求的比赛日程表:
(1)每个选手必须与其他n-1个选手各赛一次,
(2)每个选手每天只能赛一次,
(3)循环赛一共进行n-1天。
试设计算法,给出日程表。
输入
一个正整数n。
输出
一个n\times n的矩阵。第一行表示第1个运动员在第1、第2、第3。。。天的比赛对象。 数字之间用空格隔开。特别注意每一行末尾不要添加多余空格。 (本题测试例为《计算机算法设计与分析》王晓东著中2.11小节的测试数据。本题解法有很多,这里只给出其中一种。)
样例
输入
8
输出
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
来源
分治专题