首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
为参加网球比赛的选手安排比赛日程。 设有n(n=2k)位选手参加网球循环赛,循环赛共进行n-1天,每位选手要与其他n-1位选手赛一场,且每位选手每天赛一场,不轮空。试按此要求为比赛安排日程。 设n位选手被顺序编号为1,2,…,n。比赛的日程表是
为参加网球比赛的选手安排比赛日程。 设有n(n=2k)位选手参加网球循环赛,循环赛共进行n-1天,每位选手要与其他n-1位选手赛一场,且每位选手每天赛一场,不轮空。试按此要求为比赛安排日程。 设n位选手被顺序编号为1,2,…,n。比赛的日程表是
admin
2012-03-13
49
问题
为参加网球比赛的选手安排比赛日程。
设有n(n=2k)位选手参加网球循环赛,循环赛共进行n-1天,每位选手要与其他n-1位选手赛一场,且每位选手每天赛一场,不轮空。试按此要求为比赛安排日程。
设n位选手被顺序编号为1,2,…,n。比赛的日程表是一个n行n-1列的表,i行j列的内容是第i号选手第j天的比赛对手。用分治法设计日程表,就是从其中一半选手(2m-1位)的比赛曰程,导出全体(2m位)选手的比赛日程。从只有2位选手的比赛日程出发,反复这个过程,直到为n位选手安排好比赛日程为止。
[C函数]
#include<stdio.h>
#define MAXN 64
int a[MAxN+1][MAXN];
void main()
{ int twoml,twom,il,j,m,k;
printf("指定n(n=2的k次幂)位选手,清输入k。\n");
scanf("%d",&k);
a[1][1]=2; /*预设2位选手的比赛日程*/
a[2][1]=1;
m=1;twoml=1;
while(m<k){
(1) ;
twoml+=twoml; /*为2m位选手安排比赛日程*/
(2) ;
/*填日程表的左下角*/
for(il=twoml+l;il<=twom;i1++)
for(j=1;j<=twoml-1; j++)
a[i1][J]=a[i1-twoml][j]+twoml;
(3) ;
for(i1=2;i1<=twom;i1++)a[i1][twoml]=a[i1-1][twom1]+l;
for(j=twoml+1;j<twom;j++){
for(i1=1;i1<twoml;i1++) a[i1][j]=a[i1+1][j-1];
(4) ;
}
/*填日程表的右下角*/
for(j=twoml;j<twom;j++)
for(ii=i;i1<=twoml;i1++)
(5) ;
for(i1=1;i1<=twom;i1++){
for(j=1;J<twom;j++)
printf("%4d",a[i1][J]);
printf("\n");
}
printf("\n");
}
}
选项
答案
(1) m++ (2) twom+=2*twom1 (3) A[1][twoml]=twom1+1 (4) A[twom1][j]=a[1][j-1] (5) A[a[i1][j][j]=i1
解析
分别有2位、4位、8位选手参加比赛时的日程表。若1~4号选手之间的比赛日程填在日程表的左上角(4行3列),5~8号选手之间的比赛日程可填在日程表的左下角(4行3列),而左下角的内容可由左上角对应项加上数4得到。至此剩下的右上角(4行4列)是为编号小的1~4号选手与编号大的5~8号选手之间的比赛安排日程。程序的思路是:由2位选手的比赛日程得到4位选手的比赛日程;依次得到8位选手的比赛日程。
转载请注明原文地址:https://kaotiyun.com/show/e6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel2003中,A1到E6单元格的值如下图所示,若在A7单元格中输入计算众数的函数“=MODE(A1:E6)”,按回车键后,则.A7单元格显示的值为(47)。
在Word中,为将正在编辑的文档以新的文件名保存,可使用______命令。
在用Word软件编辑文档时,若误删除了一个数据,随后可使用______命令进行恢复。
在Word中可以用“编辑”→“定位”命令对需要寻找的位置进行快速定位,(48)不属于定位目标。
回收的问卷调查表中,很多表都有一些没有填写的项。处理缺失值的办法有多种,需要根据实际情况选择使用。对于一般性的缺值项,最常用的有效方法是(66)。
为使双击指定类型的文件名就能调用相应的程序来打开处理它,需要将这种文件类型与相应的程序建立文件(23)。
甲和乙用如下图的两个转盘做游戏,游戏规则如下:分别旋转两个转盘,当两个转盘所转到的数字之积为奇数时,甲得2分;当所转到的数字之积为偶数时,乙得1分,则这游戏规则______。
在Windows7运行时,为强行终止某个正在持续运行且没有互动反应的应用程序,可按组合键Ctrl+Alt十Del启动(24)________________,选择指定的进程和应用程序,结束其任务。
请认真阅读下列有关Linux操作系统环境下配置成一台DNS服务器的说明信息,然后根据要求回答问题1至问题5。【说明】一台装有Linux操作系统的电脑,IP地址是“192.168.0.39’’,主机名是dnserver。现在要在这台电脑上配置成一台
某计算机字长为8位,它用补码、原码或反码来表示带符号的二进制整数(最高一位为符号位),则机器代码11111111所表示的十进制真值分别为(4)、(5)或(6)。
随机试题
Whatwillthespeakersprobablydothisweekend?
到1975年,基尔福特已经发现约80种智力因素,他预示最终可能会找到
A.甘氨酸B.缬氨酸C.酪氨酸D.丝氨酸E.精氨酸可在体内转变成胆碱的是
关于金融期货与金融期权的比较,下列叙述正确的是()。
香港、澳门和台湾都是我国的特别行政区。()
在生物和食品技术的应用领域,会经常使用肌动蛋白结合体,它产生于黑白霉。在植物中,肌动蛋白结合体约束着肌动蛋白的活动,而后者是植物细胞内部结构的主要组成部分,肌动蛋白结合体还干扰着植物的花粉管,阻止细胞成长。肌动蛋白结合体也能约束人体和动物移动细胞(如肿瘤中
下列各项,()是中共十四大提出的20世纪90年代改革和建设的主要任务。
十进制数53转换为十六进制数为【】。
Accordingtothenewsitem,theplancommittedbytheleaders______.
TheheadoftheMuseumwas______andletusactuallyexaminetheancientmanuscripts.
最新回复
(
0
)