【问题标题】:Create groups of people such that no two people are on the same team.创建人员组,使没有两个人在同一个团队中。
【发布时间】:2019-05-06 07:30:56
【问题描述】:

我有 50 个人,这 50 个人分在 5 个团队中(10 个人可能不在一个团队中)。我想从这 50 人中生成 7 组,这样每组中没有两个人在同一个团队中。

  • 这些组的人数不必相同。
  • 可以有两个人在同一个团队中,但必须积极地最小化
  • 所有组的大小都应大致相同

理想情况下,我想在 python 中解决这个问题,但我并不特别关心我用哪种语言实现它。

【问题讨论】:

  • 我没有关注这个。如果您有 7 或 8 人 (50/7) 分布在 5 个团队中,那么您必须在同一团队中有多个人(鸽巢原则)。那么小组是否仅限于 5 人?请发布一个较小的示例来说明问题空间。
  • 啊我明白你的意思了,是的,现在我想起来这种情况是不可避免的。我认为我的解决方案需要生成补图:en.wikipedia.org/wiki/Complement_graph

标签: algorithm math language-agnostic


【解决方案1】:

这个问题的解决方案是创建一个所有团队的图,并生成一个逆图:https://en.wikipedia.org/wiki/Complement_graph

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    相关资源
    最近更新 更多