如何为开发人员审核队列轮换开发算法?

mvd*_*mvd 6 sorting algorithm

假设你有开发商A,B,C,D,E,F和他们检查彼此的工作.

如何开发一种算法来生成审核轮换,告诉每个开发人员他们每周必须审核的工作并满足以下条件:

  • 您不能连续两周审查同一个人
  • 不能有闭环(A评论B,B评论A)
  • 如果您在开始重复之前对其他开发人员进行一次审核,那就太好了.

我想我可以让奇怪的开发人员使用它,但我正在努力解决偶数问题.

Gav*_*ler 1

我会走尼夫路线并通过圆形阵列旋转。因此,第 1 周,每个人都评价其右侧的人 + 0。第 2 周,每个人评价其右侧的人 + 1。第 3 周,右侧的人 + 2,依此类推。

Week 1:
  A -> B
  B -> C
  ...
  F -> A
Week 2:
  A -> C
  B -> D
  ...
  F -> B
Run Code Online (Sandbox Code Playgroud)

  • 这实际上**不起作用**。请参阅第 3 周:“A”评论“D”,“D”评论“A”。 (2认同)