这个算法叫做蛇环算法。

即,把所有球队排成一个环形(2列),左边对阵右边,第一支队伍不动,其他队伍顺时针循环,这样就肯定不重复了。
        为了方便说明,假设有8支球队a到h。像下面那样按环形排好。

这样,第1轮的对阵就是,(a,h)(b,g)(c,f)(d,e)。
        下一轮的时候,第一支球队a不动,其它球队像齿轮一样顺时针走一格。

这样,第2轮的对阵就是,(a,b)(c,h)(d,g)(e,f)。
        齿轮继续滑动,直到回到原点,这样每支球队都跟其它所有7支球队对阵了。

c++部分代码。

bool TeamSchedulType::init( WORD num )
{if( !num )return false;if( num % 2 != 0 )return false;m_num = num;schedule.resize( (num-1)*2 );WORD half = num / 2;std::vector<WORD>  vec;vec.resize( num );// 先初始化for( size_t i = 0; i < vec.size(); ++i ){vec[i] = i;}// 然后开始排for( size_t i = 0; i < (vec.size()-1)*2; ++i ){WORD index = i % (vec.size()-1);for( size_t j = 0; j < half; ++j ) {WORD home_index = (i+j) % num;WORD away_index = (i+num-j-1) % num;schedule[i].push_back( std::make_pair( vec[home_index], vec[away_index] ) );}WORD next_index = (index+1)%num;WORD temp = vec[index];vec[index] = vec[next_index];vec[next_index] = temp;}return true;
}

足球联赛赛程表思路(转)相关推荐

  1. python足球联赛赛程_足球联赛赛程表工作表

    比赛时间 比赛对手 比赛地点 比赛服装 带队领导及教练 11月9日8:50 庐阳中学--五十六中 十九中 穿红带蓝 戴鹏程 罗春光 11月16日8:50 庐阳中学--四十八中 十九中 穿蓝带红 单军  ...

  2. python足球联赛赛程_足球联赛赛程表生成

    热刺对布莱顿比分 Same time every year around the end of march or so I always start thinking about summer and ...

  3. 小技巧-不使用js制作高级足球比赛赛程表

    今天给大家介绍一种不使用js而用id来实现制作高级足球比赛赛程表(点击轮次即可显示出对应的轮次的赛程,后文会详细说明) 本文代码只展示核心代码 我们先用a标签写出轮次图的代码:(a里面的href使用i ...

  4. python足球联赛赛程_用Python生成分类的足球联赛表

    我已经创建了一个程序,可以模拟球队之间的整个足球赛季.用户输入团队名称和技能等级.然后使用泊松分布来比较他们的技能等级,并计算出两个团队之间的结果.每一场比赛后,相关列表都会更新:获胜的球队获得3分( ...

  5. python足球联赛赛程_python爬取足球比赛赛程笔记

    目标:爬取某网站比赛赛程,动态网页,则需找到对应ajax请求(具体可参考:https://blog.csdn.net/you_are_my_dream/article/details/53399949 ...

  6. UESTC 1607 大学生足球联赛 构造、蛇形安排赛程表

    大学生足球联赛 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit   ...

  7. 2022卡塔尔世界杯赛程直播北京时间_足球世界杯对阵表图完整全部

    2022卡塔尔世界杯赛程直播北京时间 足球世界杯对阵表图完整全部 2022卡塔尔世界杯今晚就要开幕了,21日0点卡塔尔世界杯揭幕战卡塔尔队VS厄瓜多尔队就要开打了.下面小编分享2022卡塔尔世界杯完整 ...

  8. 数学结果告诉你足球的赛程安排并不能做到完全公平

    2007年,白兰恩足球俱乐部在挪威超级联赛中笑到了最后.球迷们欣喜若狂,他们都觉得胜利归属于于巴西球员阿兰齐尼奥.只有阿兰齐尼奥没有为白兰恩效力过,他曾效力于白兰恩的对手斯塔贝克.所以,这到底是怎么回 ...

  9. 大湾区足球联赛港澳赛区上演进球大战

    澳门赛区的赛事 唐贵江 摄 澳门赛区的赛事 唐贵江 摄 中新网广州1月20日电 (记者 唐贵江)记者20日从赛事组委会获悉,2018/19"时代中国"粤港澳大湾区足球冠军联赛香港. ...

最新文章

  1. New Android Application 的介绍
  2. java rhino js类_让Rhino JS看Java类
  3. 中山网络推广浅谈网站为什么迟迟不收录?该怎么办?
  4. Myeclipse中js文件中的乱码处理
  5. DataFrame/Series获取列名以及更改列名(转)
  6. 工业级路由器和家用路由器的区别_工业路由器和普通家用路由器有什么区别啊?工业路由器好不好用啊?...
  7. 自动化设备的软件框架
  8. JQuery使用笔记
  9. python函数之作用域
  10. Win7 不能安装SQL Server 2005 Management Studio Express.msi解决办法
  11. 深度学习(五十一)变分贝叶斯自编码器(上)
  12. 总结开发Silverlight 注意事项
  13. Exchange 2016之用EMS配置全局OWA语言和时区设置
  14. html文本框自动填充,html利用文本框input自动填写当前日期
  15. 标注工具 labelImg 的下载安装及使用
  16. 服务器端ssh文件夹,linux ssh服务器创建文件夹
  17. Windows下挂载MSR分区
  18. vue-pdf遇到的问题
  19. 【TARS】TARS-CPP客户端学习一
  20. wget安装MySQL(5.6和5.7超详细版)

热门文章

  1. k8s 亲和 反亲和介绍
  2. PC端浏览器兼容测试总结
  3. Work around for SQL Configuration Manager Consol
  4. 大多数人不敢想的PDF操作:添加书签,电子签名,压缩,修改文字,提取部分页面为新文件、批量导出为图片
  5. Ubuntu20.04 磁盘空间扩展教程
  6. python之excel编程
  7. java包是什么意思_java中的“包”到底是什么意思?
  8. 人脸识别概述及基于多显卡服务器实现百万底库人脸比对的简单实现方案
  9. 光栅渲染器(六)着色准备和深度缓存实现
  10. 什么是大数据以及大数据的相关技术?