Problem B: 算法实验 4-2 分治算法-循环日程赛

Problem B: 算法实验 4-2 分治算法-循环日程赛

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 998  Solved: 362
[Submit] [Status] [Web Board] [Creator:]

Description

设有n=2k个运动员进行网球循环赛。现要设计一个满足以下要求的比赛日程表:
(1)每个选手必须与其他n-1个选手各赛一次;
(2)每个选手一天只能参赛一次;
(3)循环赛在n-1天内结束。
请按此要求将比赛日程表设计成有n-1行n列的表格,第i行,第j列处填入第j个选手在第i天所遇到的选手,其中1≤i≤n-1, 1≤j≤n。
程序输出时,请添加1行作为表头。

Input

输入整数k,代表有n=2k

Output

按图示效果输出比赛日程表。
输出的每个数字占3个字符宽度,例如:printf("%3d",a[i][j]);

Sample Input Copy

3

Sample Output Copy

  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