社区
数据结构与算法
帖子详情
求排赛程表的算法
Isaf
2007-09-05 10:59:27
加精
比如有1,2,3,4,5,6,7,8支球队要打单循环联赛,怎么安排他们的赛程啊?
我自己写了一个算法,但只支持2的n次方支球队。看样子好像要用分治法,但具体怎么分有哪个大虾可以说说吗?
这么经典的一个算法为什么CSDN对它的讨论这么少啊,晕~~
...全文
441
5
打赏
收藏
求排赛程表的算法
比如有1,2,3,4,5,6,7,8支球队要打单循环联赛,怎么安排他们的赛程啊? 我自己写了一个算法,但只支持2的n次方支球队。看样子好像要用分治法,但具体怎么分有哪个大虾可以说说吗? 这么经典的一个算法为什么CSDN对它的讨论这么少啊,晕~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CSU305
2008-05-16
打赏
举报
回复
(1).可以首先把比赛的队伍两俩分组
(2).在每个分组中进行比赛,
(3)把每组中的胜利者再进行两俩分组,
(4)重复上面的过程知道只剩一个,则为胜利者
Isaf
2007-09-11
打赏
举报
回复
嗯,果然厉害
xuelong_zl
2007-09-10
打赏
举报
回复
这个思路第一次看到,学习一下
galois_godel
2007-09-09
打赏
举报
回复
证明也比较明显:
对于第i(0<i<n)队,他在第xn轮和第n队比赛,这里xn=2*i%(n-1)唯一决定,在第xj轮和第j队比赛,这里xj=(i+j)%(n-1)也是唯一决定,所以其在n-1轮和各队都比了一次,对于第n队,对任意i(0<i<n),在前n-1轮中都和他比了一次,他显然也和各队分别交手一次。
galois_godel
2007-09-09
打赏
举报
回复
如果,n是奇数的话,先设一只队伍n+1,每轮和这个虚设的队伍比赛的队伍就是轮
空,所以,我们下面假设n为偶数,
然后,设n个队伍编号分别是1,2,3,...,n,
在第k(1<=k<=n-1)轮,如果1<=i,j<=n-1, i<>j, (i+j-k)%(n-1)=0的,则第i队和
第j队比赛,第n队与由方程(2*x-k)%(n-1)=0决定的队伍x比赛。
可以证明,这样可以得到排法符合单循环规则。
举个例子,有5个队伍
第1轮 1-5 2-4 3-x
第2轮 1-x 2-5 3-4
第3轮 1-2 3-5 4-x
第4轮 1-3 2-x 4-5
第5轮 1-4 2-3 5-x
x是虚设队,就是碰上表示轮空
用分治
算法
设计循环赛日程表
用C++设计一个循环赛日程表,其中包括源代码,需求分析和
算法
设计等
Python设计足球联赛
赛程表
程序的思路与简单实现示例
每年意甲德甲英超西甲各大联赛的
赛程表
都是球迷们的必看之物,想起之前写过的一段生成
赛程表
的代码,用Python来写这类东西太舒服了。 这个
算法
叫做蛇环
算法
。 即,把所有球队排成一个环形(2列),左边对阵右边,第一支队伍不动,其他队伍顺时针循环,这样就肯定不重复了。 为了方便说明,假设有8支球队a到h。像下面那样按环形排好。 这样,第1轮的对阵就是,(a,h)(b,g)(c,f)(d,e)。 下一轮的时候,第一支球队a不动,其它球队像齿轮一样顺时针走一格。 这样,第2轮的对阵就是,(a,b)(c,h)(d,g)(e,f)。 齿轮继续滑动,直到回到原点,这样每支球队都跟其它所有7支球队对阵了
赛程安排中的数学问题.pdf
赛程安排中的数学问题.pdf赛程安排中的数学问题.pdf赛程安排中的数学问题.pdf赛程安排中的数学问题.pdf赛程安排中的数学问题.pdf赛程安排中的数学问题.pdf赛程安排中的数学问题.pdf赛程安排中的数学问题.pdf
赛事自动安排系统
用于对于赛事的自动安排与比赛后分数的计算,欢迎下载~
java 循环比赛日程表 附有结果
设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能赛一次; (3)循环赛一共进行n-1天。
数据结构与算法
33,028
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章