划分和算法问题:每个玩家必须对每个n-1个对手玩一次,每天最多一场比赛表明,如果n是2的幂,则可以设计一个完全取得比赛的锦标赛n-1天。这样做是通过给出一个输入n的算法并输出n-1天中每一天的玩家配对列表?到目前为止我知道如果n必须超过2,我们使用类似于合并排序算法
答案 0 :(得分:0)
在d
天(d
范围从1
到n-1
),播放器k
(其中k
的范围是{{1} }} 0
}播放播放器n-1
。
关于此算法的一些简单事实:
k xor d
强大的是n
,2
和1 <= d <= n-1
,那么0 <= k <= n-1
,那么函数0 <= k xor d <= n-1
是来自玩家的有效函数和玩家的日子。k, d -> k xor d
暗示k xor d = k
。d = 0
。k xor d xor d = k
暗示k xor d = x xor d'
。因此,每个玩家每天玩1个对手,并且在d = d'
天内与每个对手完全匹配一次。
在代码中:
n-1