我想创建/实施一个比赛调度算法,该算法每个游戏可以处理2个以上的参与者。
这个问题似乎对于2位参与者是众所周知的。例如,请参见此处:Round Robin Algorithm Implementation Java
与6支球队(A,B,C,D,E,F)对决的例子:
如果球队数量奇数(即A,B,C,D,E),我希望每局有3局和2局的游戏:(ABC)(DE)>
一旦解决了三向游戏问题,我想对四向游戏做同样的事情。
我无法创建这样的算法,也无法在互联网上找到类似的解决方案。
有人能指出我正确的方向吗?
答案 0 :(得分:1)
要从N个中选择K个项目,您需要combinations。
请注意,C(6,3)=20
是固定项(A),并且确实有C(5,2)=10
变体
组合生成有很多实现-最简单的是recursive,更有效的是lexicographic ordered generation -simple C code