分治法算法思路:
使用分治设计程序时,一般可按以下步骤进行:
(1)分解:将要求解的问题划分成若干规模较小的同类问题;
(2)求解:当子问题划分的足够小时,用较简单的方法解决;
(3)合并:按求解问题的要求,将子问题的解逐层合并,即可构成最终的解。

问题:

设有n位选手参赛,初赛进行n-1天,每位选手每天必须比赛一次,不能轮空。编程求解赛程安排。

分析:

1、求n位选手的赛程安排,可采用分治算法的思想,将问题规模不断缩小,比如缩小到8,4,2等规模大小;

2、分析2,4,8等小规模时的赛程安排:


C语言相关代码

#include<stdio.h>
#define MAXN 64
int a[MAXN+1][MAXN+1]={0};
void gamecal(int k,int n);
void gamecal(int k,int n)//处理编号k开始的n个选手的日程
{int i,j;if(n==2){a[k][1]=k;//参赛选手编号 a[k][2]=k+1;//对阵选手编号 a[k+1][1]=k+1;//参赛选手编号 a[k+1][2]=k;//对阵选手编号   2号选手对阵1号选手 } else{gamecal(k,n/2);gamecal(k+n/2,n/2); // 以四个选手为例,3号选手开始安排2名选手 for( i=k;i<k+n/2;i++)//填充矩阵右上角 {for(j=n/2+1;j<=n;j++){a[i][j]=a[i+n/2][j-n/2];}}for(i=k+n/2;i<k+n;i++)//填充矩阵右下角 {for(j=1+n/2;j<=n;j++){a[i][j]=a[i-n/2][j-n/2];}}}
}
int main(){int m,i,j;printf("请输入参赛选手的人数:");scanf("%d",&m); j=2;for(i=2;i<8;i++)//判断是否为2的整数次幂{j=j*2;if(j==m) break;}if(i>=8){printf("参赛选手人数必须为2的整数次幂,且不超过64!\n");return 0;}gamecal(1,m);printf("\n编号");for(i=2;i<=m;i++)printf("%2d天",i-1);printf("\n");for(i=1;i<=m;i++){for(j=1;j<=m;j++)printf("%4d",a[i][j]);//将全局变量数组a[][]整合输出。printf("\n"); }return 0;
}

分治法_乒乓球比赛赛程安排(C语言)相关推荐

  1. 【程序8】乒乓球比赛赛程安排

    /*[程序8] * 作者 中国风 * 乒乓球比赛赛程安排 * 某学校举行乒乓球比赛,在初赛阶段设置为循环赛,设有n位选手参赛, * 初赛共进行n-1天, 每位选手要与其他每一们选手进行一场比赛, * ...

  2. 乒乓球比赛赛程_10月5日至10月11日中央电视台直播录播乒乓球比赛安排

    10月5日至10月11日这一周中央电视台居然没有播乒乓球比赛?全国乒乓球锦标赛从5日开始进行各单项比赛,7日进行混双决赛,9日进行男双决赛和女单决赛,10日进行女双决赛和男单决赛.场场都是精彩好看的比 ...

  3. 乒乓球十一分制比赛规则_乒乓球比赛11 分制规定

    1 关于新规则 1 . 1 大球 2000 年 2 月, 在马来西亚举行的国际乒联代表大会上通过了决议, 把原 38 毫米直径的乒 乓球增加两毫米,为 40 毫米,俗称 " 大球 " ...

  4. 乒乓球比赛赛程_2020年乒乓球比赛赛事赛程表(优个网独家整理)

    国际乒联官网早早公布了2020年乒乓球赛事的重要赛程.2020年年初的最重要比赛,是3月底在韩国釜山进行的世乒赛团体赛.2020年7月25日-8月7日,东京奥运会乒乓球比赛将在东京国立代代木体育馆举行 ...

  5. 用图的领接矩阵来解决打比赛赛程安排

    说明 设有2n(n<=6)个球队进行单循环比赛,计划在2 n – 1天内完成,每个队每天进行一场比赛.设计一个比赛的安排,使在2n – 1天内每个队都与不同的对手比赛. 例如n=2时的比赛安排: ...

  6. 分治法实现最近点对问题——C语言可视化

    1. 分治法步骤 1.按x对点对数组进行从小到大排序 2.找出x中间值,按中间值划分数组为左右两部分 3.不断细分,找出左右两部分的最近点对 4.重复步骤1.2.3,得到最终左右两部分的最近点对的距离 ...

  7. 乒乓球比赛赛程_国乒今年最后一站比赛延期!赛程缩短比赛地温暖,教练组考察队员...

    中国乒乓球队目前正在成都进行封闭集训,中国乒协计划在12月16日-27日进行2020年乒超联赛,这个比赛也将是国乒在本年度的最后一项比赛.不过从目前各方消息来看,今年的乒超联赛将延期举行,并且赛程也将 ...

  8. 乒乓球比赛赛程_丁宁休战,刘诗雯做手术!李隼、秦志戬做介绍,国乒最新赛程曝光...

    久违了,国乒!因为今年众所周知的原因,中国的冠军之师:中国乒乓球队,自从3月在卡塔尔打完比赛后,就一直没有公开比赛,而是始终在封闭训练.面对奥运延期一年的形势,国乒在努力做着调整,确保状态始终达到奥运 ...

  9. 乒乓球比赛赛程_2018国际乒联乒乓球重大赛事详细赛程表,看点爆点早知道

    原标题:2018国际乒联乒乓球重大赛事详细赛程表,看点爆点早知道 随着国际乒联总决赛的落幕,今年的国际大赛告一段落.好球的朋友们,2018年又有哪些国际大赛值得关注呢? 国乒有哪些重大记录等着打破?巡 ...

  10. python乒乓球比赛规则介绍_乒乓球比赛的规则。

    展开全部 单打乒乓球32313133353236313431303231363533e58685e5aeb931333431373163赛规则 1.本次比赛实行淘汰赛.11分制,初赛.半决赛与决赛采用 ...

最新文章

  1. 商汤联手华科:提出文字检测模型GNNets,新颖模块可解决几何分布难题
  2. 天草脱壳视频学习笔记(逆向 OD)
  3. .NET分层登陆——机房收费系统再总结
  4. mongodb性能分析方法:explain()
  5. Java后端:10w行级别数据的Excel导入优化记录
  6. 好奇心机制_好奇心问题
  7. html 图片剪裁压缩,HTML5 canvas实现图片拉伸、压缩与裁剪
  8. [Tips] WSL ubuntu 18.04 安装python3
  9. 大数据学习笔记33:解决CentOS7上MySQL启动失败问题
  10. ASP.NET MVC view引入命名空间
  11. 支付宝玉伯:我心目中的优秀API
  12. 计算机主机hdmi接口是什么意思,笔记本电脑HDMI接口是干什么的
  13. stm32h743单片机嵌入式学习笔记5-液晶屏汉字库原理
  14. 用python计算邮费考虑是否加急,用python计算residuals
  15. 基于stm32单片机的台历日历计时器万年历Proteus仿真(源码+仿真+全套资料)
  16. ZOC7 Terminal 首次安装无法 上传/下载文件
  17. Windows-系统
  18. 讯飞智能语音鼠标G50:AI语音、转写翻译、记录截图一键搞定!
  19. 解决VScode调试C++文件名不能出现中文的情况
  20. 名悦集团:买一辆车花多少钱才能买到中意的

热门文章

  1. unity 打包一直停留在 detecting current sdk tools version
  2. 靶机渗透练习99-hacksudo:FOG
  3. nginx代理frps后出现 http proxy request error: no such domain
  4. 计算机专业教师的简历模板,教师简历模板
  5. 目前最新android处理器排行榜,2017年最新安卓处理器排行榜 骁龙竟然输给了他
  6. HDLC 和PPP 的应用
  7. 智能暖风机——FAQ
  8. 团队开发如何评估工作量
  9. CF18B/01背包
  10. ACM/ICPC 大赛常见英语词汇