问题描述
问题描述:
设有n=2^k 个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:
(1)每个选手必须与其他n-1个选手各赛一次;
(2)每个选手一天只能参赛一次;
(3)循环赛在n-1天内结束。
设计思路
设计思路:建立二维数组a[N][N],存放1-N名运动员的循环赛事情况。初始化为0;当day从1->N时,遍历数组,当二维数组元素a[i][j]行不等于列且所存储元素为0时,遍历a[i][N]和a[N][j],如果a[i][N]和a[N][j]所储存元素均不包含day,则另a[i][j]=day;循环结束后输出a[N][N],然后按照day从1-N的顺序输出表a[N][N]中对战情况
数据结构
N=2^k=8:比赛人数
a[N][N]:存放运动员日程安排结果
x[N],y[N]:工作数组,分别存放第i行j列的安排情况
算法描述: