设有N个选手进行循环比赛,其中N=2^M,要求每个选手要与其他N-1选手都赛一次,每个选手每天比赛一次,循环N-1填,要求每天没有选手轮空。
输入一个正整数M
输出表格形式的比赛安排表。
一行中各数据间用一个空格隔开。
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1025, MAXM=11;
int a[MAXN][MAXN];
int m;
int main( )
{
scanf("%d",&m);
int n=1<<m,k=1,half=1;
____(1)_____
while(k<=m)
{
for(int i=0;i<half;i++)
{
for(int j=0;j<half;j++)
{
a[i][____(2)___]=____(3)_____;
}
}
for(int i=0;i<half;i++)
{
for(int j=0;j<half;j++)
{
a[i+half][j]=_____(4)_____;
a[i+half][j+half]=a[i][j];
}
}
_____(5)_____
k++;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%d ",a[i][j]);
}
putchar('\n');
}
return 0;
}