计算瑞士系统锦标赛中比赛数的算法

时间:2009-11-05 10:44:23

标签: algorithm tournament

我需要计算瑞士系统锦标赛中的比赛数量,php中是否有任何可以帮助我的图书馆?

1 个答案:

答案 0 :(得分:5)

从维基百科的描述来看,似乎确定配对是一项艰巨的任务。匹配总数仅取决于播放的轮数。如果我们建议轮次数由参赛人数(n)的基数2对数确定,那么匹配数(m)如下:

m = ceil(log2 n) * floor(n / 2)

所以对于10名玩家,你需要4轮,每轮5场比赛,因此有20场比赛。如果玩家数量奇数,则会有一个再见,因此对于11名玩家来说,匹配的数量是相同的。