循环赛日程表
2017/11/30
内容提要
问题描述
解题思路
程序实现
2/9
问题描述
问题描述:
设有n(n = 2k)位选手参加网球循环赛,循环赛共进行n-1天,每位选手要与其他n-1位选手比赛一场,且每位选手每天必须比赛一场,不能轮空。
——每个选手必须与其他n-1个选手各赛一场;
——每个选手一天只能赛一场;
——循环赛一共进行n-1天。
3/9
解题思路
问题描述:
——每个选手必须与其他n-1个选手各赛一场;
——每个选手一天只能赛一场;
——循环赛一共进行n-1天。
n=1
具体
抽象
n=2
1
2
4/9
解题思路
问题描述:
——每个选手必须与其他n-1个选手各赛一场;
——每个选手一天只能赛一场;
——循环赛一共进行n-1天。
n=4
具体
抽象
3
4
4
1
2
3
1
2
4
3
5/9
解题思路
n=8
6/9
程序实现
void table(int **a,int start,int end)
{ if(start >= end || start <= 0) return;
int n = end - start + 1;
if(n==2)
{
a[start][1] = start+1;
a[start+1][1] = start;
return;
}
int mid = (end + start)/2;
table(a, start, mid);
table(a, mid+1, end);
copy(a,start,end);
}
图示
隐藏
7/9
程序实现
void copy(int **a,i
循环赛日程表问题 来自淘豆网m.daumloan.com转载请标明出处.