将n人分配给m个不同大小的房间,这样就没有人一个人,而且人们可能在最大的房间里

时间:2019-12-06 22:04:21

标签: algorithm dynamic

我正在寻找一种有效的方法,以一种非常特定的方式将n个人分配给m个房间。

输入:

该程序接收两组人(一组男性和一组女性)以及一组可用的房间(房间的大小可以从2到6不等)。

分配条件:

该算法必须按照以下方式分配人员到房间:

  • 男性只能和男性同住一个房间(女性也一样)
  • 没有人可以一个人
  • 该算法必须最大化组(4个房间中的1个优于2个房间中的2个,依此类推)

输出:

算法必须返回赋值

我已经尝试过这样做,但是我想出的所有解决方案至少都是O(n ^ 3)。有人知道这样做的有效方法吗?

0 个答案:

没有答案