输入描述
输入:M。
输出描述
输出:表格形式的比赛安排表。一行各数据间用一个空格隔开。
用例输入 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
#include <iostream>
#include<cmath>
#include<iomanip>
#define maxn 1001
using namespace std;
int a[maxn][maxn];
int m;
int main()
{
cin >> m;
int x = 1,y=1;
a[0][0] = 1;
while (y <= m) {
//填充表格右上角的数字
for (int i = 0; i < x; i++) {
for(int j = 0; j < x; j++){
a[i][j + x] = a[i][j] + x;
}
}
//填充表格左下角的数字,和右上角相等
for (int i = 0; i < x; i++) {
for (int j = 0; j < x; j++) {
a[i + x][j] = a[i][j + x];
}
}
//填充表格右下角的数字,和左上角相等
for (int i = 0; i < x; i++) {
for(int j = 0; j < x; j++) {
a[i + x][j + x] = a[i][j];
}
}
x *= 2;
y++;
}
for (int i = 0; i < x; i++) {
for (int j = 0; j < x; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}