计算瑞士系统锦标赛比赛次数的算法
Posted
技术标签:
【中文标题】计算瑞士系统锦标赛比赛次数的算法【英文标题】:Algorithm to calculate the number of matches in Swiss system tournament 【发布时间】:2010-12-13 09:03:10 【问题描述】:我需要计算瑞士系统锦标赛的比赛次数,有没有php中的库可以帮助我?
【问题讨论】:
对于那些想要了解 SST 的人,请参阅 wiki:en.wikipedia.org/wiki/Swiss_system_tournament。确实非常有趣且具有挑战性。 【参考方案1】:从 Wikipedia 上的描述来看,确定配对似乎是一项艰巨的任务。比赛的总数仅取决于进行了多少轮比赛。如果我们建议轮数由参赛人数(n)的以2为底的对数确定,那么匹配数(m)如下:
m = ceil(log2 n) * floor(n / 2)
因此,对于 10 名玩家,您需要 4 轮,每轮 5 场比赛,因此需要 20 场比赛。奇数玩家将轮空,因此对于 11 名玩家,比赛的数量是相同的。
【讨论】:
以上是关于计算瑞士系统锦标赛比赛次数的算法的主要内容,如果未能解决你的问题,请参考以下文章