我正在尝试制定一个方程/算法来解决这个问题(对于我正在编写的程序):
规则:
要排序的人员p可以从列表中排除n个人。被排除的人n不能与p在同一组中。
该名单将包含约100-150人。
一个小组应该包含5-7人(理想情况下为6人)
我目前的想法:
将列表计数除以6,这样就可以得到组的数量。
将人员引入群组,直至发生排除。当发生这种情况时,尝试将不匹配的人移动到其他组中,基于某种得分系统,直到形成适当的组。
但是,我仍然觉得我需要限制每个人被排除在外的人数。
我的问题基本上是如何弄清楚某个人可以排除多少人才能使这项努力成为可能。考虑到将有大约150人,每个人都有自己的排除人员名单,甚至可能吗?但是,允许一些例外情况。思想和想法也很受欢迎!
我打算用java编写程序。