普及⏱ 1000ms💾 256MB#P5138🏷️ 分治构造

题目描述

武馆大比有 $N = 2^M$ 名弟子进行单循环切磋:每人要与其余 $N-1$ 人各过招一次, 每人每天至多一场,共进行 $N-1$ 天,且每天没有弟子轮空。

用分治法构造轮转表:表中第 i 行第 j 列(行列均从 1 开始)表示第 i 名弟子在第 j 天的对手编号 (第 1 列恒为自己的编号,即对角线上都是 1)。输出整张轮转表。

输入格式

一行,一个整数 $M$。

输出格式

共 $2^M$ 行,每行 $2^M$ 个整数,同行数字用一个空格分开:第 i 行第 j 列为第 i 名弟子第 j 天的对手编号。

数据范围

$$1 \le M \le 10$$

样例输入 #1
3
样例输出 #1
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
1
样例输出 #2
1 2
2 1