附:
#include
#include
void print(int n,int a[100][100]); void arrangement(int n,int N,int k,int a[100][100]);
int main() {
int k;
int a[100][100]; int n=1;
cout<<\请输入 k\ cin >> k;
for (int i=1;i<=k;i++) n *= 2;//n=2^k
cout<<\参赛人数\ int N=n;
arrangement(n, N, k, a); print(n,a); }
void arrangement(int n,int N,int k,int a[100][100])
{
for(int i=1;i<=N;i++) {
a[1][i] = i; }
int m =1;
for (int s=1;s<=k;s++) { N/=2; for(int t=1;t<=N;t++) { for(int i=m+1;i<=2*m;i++)
for(int j=m+1;j<=2*m;j++)
{
a[i][j+(t-1)*m*2]=a[i-m][j+(t-1)*m*2-m];
a[i][j+(t-1)*m*2-m]=a[i-m][j+(t-1)*
m*2];
} } m *= 2;
}
}
void print(int n,int a[100][100]) {
cout<<\-\循环赛日程表\
cout< for(int p=1;p cout< for( int i=1;i<=n;i++) { cout<