1. 问题描述:
设有n=2^k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:
(1)每个选手必须与其他n-1个选手各赛一次;
(2)每个选手一天只能参赛一次;
(3)循环赛在n-1天内结束。
请按此要求将比赛日程表设计成有n行和n-1列的一个表。在表中的第i行,第j列处填入第i个选手在第j天所遇到的选手。其中1≤i≤n,1≤j≤n-1。8个选手的比赛日程表如下图:
2. 题解
此题如果能发现是分治的题目,那就解决了一半了。我们需要安排2^k支队伍,如果我们能根据2对2 ^ k-1支队伍的赛程表得到2 ^ k支队伍的赛程表,然后自顶向下,也就是说,我只需要安排两支队伍(幼儿园小盆友就能安排hhh)。
如上图所示,假如我们拿到了2对4支队伍的赛程表,如何安排8支队伍呢?1号代替对面的5号和6