为参加网球比赛的选手安排比赛日程。 设有n(n=2k)位选手参加网球循环赛,循环

发布时间:2024-12-01 10:45

参与网球比赛,体验淘汰赛的紧张刺激 #生活乐趣# #运动乐趣# #网球乐趣#

大学职业搜题刷题APP

下载APP

首页

课程

题库模板

Word题库模板

Excel题库模板

PDF题库模板

医考护考模板

答案在末尾模板

答案分章节末尾模板

题库创建教程

创建题库

logo - 刷刷题

创建自己的小题库

【简答题】

为参加网球比赛的选手安排比赛日程。 设有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 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'); } }

参考答案:

刷刷题-刷题-导入试题 - 刷刷题

网址:为参加网球比赛的选手安排比赛日程。 设有n(n=2k)位选手参加网球循环赛,循环 https://www.yuejiaxmz.com/news/view/332875

相关内容

【算法】网球循环赛比赛日程表
用C语言程序进行比赛日程排列
环保手工小制作比赛活动方案
环保手工比赛活动方案(汇编7篇)
环保手工比赛策划书范文
开心工作 快乐生活 | 昆药集团2024年气排球赛开赛啦
北大学子获“低碳生活 关爱地球”大学生征文比赛一等奖
【拓扑排序】HDU 1285 确定比赛名次
从国际大赛到日常生活 北京现代N line将极致动感玩成新时尚
转转参加联合国气候变化大会 展示二手循环生活方式

随便看看