#3795. 循环比赛日程表

循环比赛日程表

题目描述

NN 名选手进行循环比赛,其中 N=2MN=2^M。要求每名选手都与其他 N1N-1 名选手比赛一次,每名选手每天比赛一次,比赛共进行 N1N-1 天,且每天没有选手轮空。请输出表格形式的比赛安排。

一种常见表示方法是输出一个 N×NN\times N 的表格,第 ii 行表示第 ii 名选手在各天对应的对手安排,第一列为选手自己。

输入格式

输入一行一个整数 MM

输出格式

输出 NN 行,每行 NN 个整数,表示循环比赛日程表。同一行相邻整数之间用一个空格隔开。

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

数据范围与提示

  • 1M101 \le M \le 10
  • N=2MN=2^M
  • 可以用分治方法构造:左上、右下复制原表,右上、左下在原表基础上加上当前块大小。

来源

分治