【发布时间】:2023-03-22 23:30:01
【问题描述】:
我的目标是创建 4 个会话。每个会话有 20 分钟的时间。我需要安排50名学生分组。每个小组最多有 3 名成员。并在 80 分钟内创建四次。这样每次每个学生都会与不同的学生分组分配。没有人会再次面对。
【问题讨论】:
-
您忘记添加代码。
-
我正在考虑解决方案。我没有任何代码。我只想要一个清晰的概念,以便我可以开始使用它。 @quamrana
-
我认为指定的 20 分钟无关紧要?您只需将 50 名学生分成最多 3 组,四次,同一组中不会重复任何人
-
创建一个
Student类来代表每个学生,并为每个学生分配一个set。当您向学生组填充时,您可以通过检查他们的集合来检查该组的候选人是否已经与其他学生在一起。将候选人添加到小组后,您可以将所有其他学生添加到他们的集合中,以便在下一次会话中记住他们不能与这些学生一起进入另一个小组。 -
提示:解决 8 名学生的问题,然后将该解决方案扩展到 48 名学生,并按照规范要求分配剩余的两名学生
标签: algorithm data-structures combinations permutation