不是VIP会员,不能显示答案

题目解答

题目:
(循环比赛日程表)设有N个选手进行循环比赛,其中N=2^M,要求每名选手要与其他 N-1 名选手都赛一次,每名选手每天比赛一次,循环赛共进行N-1 天,要求每天没有选手轮空。

输入一个正整数M。输出表格形式的比赛安排表。一行中各数据问用一个空格隔开。

例如输入: 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



#include <cstdio>

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];

}

}

___(4)___;

k++;

}

for (int i= 0; i< n; i++) {

for (int j= 0; j<n; j++) {

printf(" %d ",a[i][j]);

}

poutchar('\n');

}

return 0;

}




选择题

1) ①处应填( )

2) ②处应填( )

3) ③处应填( )

4) ④处应填( )

5) ⑤处应填( )
考点:
分析:
解答:
评论:
老师: