我有很多的羽毛球运动员作为输入,还有一个数以1天时隙,需要在组织播放时间表,让最终所有玩家都玩过多款游戏,并且我们有最后的赢家。算法将人变成1对1或2对2队
回答
有多种算法,可能是使用了把玩家进入游戏插槽,给出了各种限制(减少游戏的每个玩家扮演,减少时隙数量,最大限度地提高游戏的每个玩家扮演等)。
,你可能想看看,为您的特定约束条件的一些例子:
在这两种情况下,如果要确定谁应该在哪去了组还是应该在什么梯子排名,你应该(约由他们知道如何好,是对他们进行排名)种子你的球员,并尝试以确保游戏在后面的比赛将涉及最高种子的冲突。
例如,看看产生它们的世界杯赛的比赛日程中使用国际组织FIFA混合式系统:
首先,他们为了根据他们的排名球队
他们创建了n组,其中m各自组队,并且在每组中放置球队以确保东西均匀分布。在他们的情况下,它是排名和出处/位置的组合。例如,如果您有ABCDEFGHIJKL的球队,从最好到最差排名,并且您有三个四人组,您可以这样做:(为了简单起见,忽略尝试按原籍/地点分散团队)
GROUP 1:AFGL
GROUP 2:BEHK
GROUP 3:CDIJ
每队一组中扮演着每一个其他球队。例如,在第1组中,A队将打F队,G队和L队.F队将与A,G,L队一起打A队,F队,L队等。
最后,每组中最好的(或最好的两个)球队面临Single Elimination Tournament或“淘汰赛”比赛。安排的方式是尽可能在比赛后期尽可能让同组中的球队互相比赛。
该系统确保每个团队/玩家保证至少玩几场比赛,并可在第一次失败后“回来”。它还可以确保玩许多游戏。
或者,在“纯循环赛”锦标赛中,您甚至可能不会使用单场淘汰赛,并且让每个人都参加一场巨型循环赛,并且让这个大组中的最佳成为胜者。
明天会对此表示赞赏。 – 2010-06-30 06:16:16
- 1. 1 + 1/2 + 1/3 + - + 1/n =?
- 2. Alloy - 声明1或2个变量
- 3. 的Python分裂 '123' 变成 '1', '2', '3'
- 4. 2个Python字典如何变成1?
- 5. Common Lisp为什么(列表+ 1 2)评估为('(+ 1 2)1 2)
- 6. 将32bit linux内存拆分成1:3换成2:2
- 7. Clojure中所享有“(1 2(+ 1 2))
- 8. 将2个变量合并为1?
- 9. 捆绑-ManifestVersion = 2对比捆绑-ManifestVersion = 1
- 10. EF4 - 映射1表到2对象
- 11. Lotus-1-2-3对话框代码
- 12. 301将showthread.php?t = 1&page = 2重定向到threads/1/page-2?
- 13. ejabberd 2用户MUC与普通的1对1聊天
- 14. 创建查询加入2个表1对1没有共同
- 15. 将1列转换为2
- 16. MATLAB重复行n次(从A = [1; 2; 3]创建B = [1; 2; 3; 1; 2; 3; 1; 2; 3])
- 17. 将2个日期行组合成2行1列
- 18. Selenium 1 vs 2
- 19. CSS动画循环淡入淡出1-2-3-1-2-3-1-2
- 20. 将字符串中表示的大数除以2,加1或减1 1
- 21. 答案是:6÷2(1 + 2)=?
- 22. 用1或2行文本对齐图标顶部用css
- 23. 对于asp.net核心mvc的Angular 1或Angular 2?
- 24. ,处理1或2或3的值
- 25. jquery分裂1变量变成2变量
- 26. KB是2^10。是一个字节2^0或2^1?
- 27. 我需要计算结果1/1 + 2/2 + 3/3 + N/N在Java程序中
- 28. angular 2 snytax用于将2个对象绑定到1个事件
- 29. 随机数绝对1或-1
- 30. 2列分为1个计算列
但是规则是什么?球员是否在一些组中分裂(并在内部互相玩)? – 2009-09-09 12:30:03
听起来这只是一个简单的循环赛,不难编码;但是,应该使用什么样的评分规则?赢家是赢得最多的赢家,还是你使用了一个考虑到实力的积分系统? – rjzii 2009-09-09 12:32:21
和您选择的语言是?你输入的形式是? – 2009-09-09 16:00:10