1

我正在寻找一种算法来计算 w 周内来自 n 类(学生姓名列表)的对,以便学生永远不会在两个不同的星期内与同一个学生合作。假设 n 是偶数。

例子:

班级:学生 1,2,3,4

周数:3

  • 第 1 周的时间表:(1,2), (3,4)
  • 第 2 周的时间表:(1,3), (2,4)
  • 第 3 周的时间表:(2,3), (1,4)

我认为 w 必须小于或等于 n - 1 因为每个学生都可以最大程度地与其他 n - 1 人合作。但我不知道是否总是有 n - 1 个解决方案。如果有,我想看看以非暴力方式生成这些 n - 1 个解决方案的算法。

这个问题是否有名称以及我应该查看的通用算法?

4

1 回答 1

2

听起来它相当于一个循环赛

于 2011-06-15T18:04:02.493 回答