首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
为参加网球比赛的选手安排比赛日程。 设有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
73
问题
为参加网球比赛的选手安排比赛日程。
设有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
程序员下午应用技术考试
软考初级
相关试题推荐
数据属性有业务属性、技术属性(与技术实现相关的属性)和管理属性三大类。以下属性中,()属于业务属性。
在Excel工作表中,已输入的数据如下所示:按回车键后,B2单元格显示的值为()。
()不属于信息污染。
计算机采用二进制的好处不包括______。
Windows系统的控制面板不包括__________功能。
在Microsoft Word中点击“文件”→“另存为”,在保存类型下拉框中不能选择的有(45)。
信息传递的三个基本环节中,信息接收者称为(9)________________。
在上、下行的轨道上,两列火车相对开来。甲列车的车身长235m,车速为25m/s;乙列车的车身长215m,车速为20m/s。这两列火车从车头相遇到车尾离开需要的时间为(31)。
设机罪码的长度为8位,已知X、Z为带符号的纯整数,Y为带符号的纯小数,[X]原+[Y]补+[Z]移=11111111,求出X、Y、Z的十进制真值为:X=(16),Y=(17),Z=(18)。
某计算机字长为8位,它用补码、原码或反码来表示带符号的二进制整数(最高一位为符号位),则机器代码11111111所表示的十进制真值分别为(4)、(5)或(6)。
随机试题
对严重烧伤、大出血、休克患者采用静脉输液治疗的目的是
焊接过程中需要焊工调节的参数是()。
皮亚杰认知发展学说中形式运思期的主要特点是
A.行政许可B.行政处罚C.行政诉讼D.行政复议E.行政处分行政机关工作人员滥用职权、玩忽职守作出决定的,可撤销
甲公司2008年年初对A设备投资1000000元,该项目2010年年初完工投产,2010年、2011年、2012年年末预期收益分别为200000元、300000元、500000元,银行存款利率为12%。(计算结果取整数)按复利计算,并按季计息
王某向李某借款1万元,李某当场向王某交付现金1万元,王某向李某出具借条一份,张某在该借条上签字,后王某没有按时还钱,李某将王某和张某同时起诉至法院,要求王某还钱,并要求张某承担连带责任。关于张某的责任,下列说法正确的是:
(2008年第6题)下列关于文史知识的表述,错误的一项是:
下列程序的运行结果是( )。 #include<iostream.h> voidfun(int &a,int b=3) { static int i=2; a=a+b+i; i=i+a; } void ma
Doesthewomanagreetohelptheman?
Itisdifficulttoconceivehow,evenforthosepeoplewelldisposedtorulethemselves,theattempttoachievehappinessshould
最新回复
(
0
)