我在一家咨询公司工作,大部分时间都在客户所在地。正因为如此,我很少见到同事。为了更好地了解彼此,我们将安排一个晚宴。会有很多小桌子,方便人们聊天。为了在聚会期间与尽可能多的不同的人交谈,每个人都必须每隔一段时间(比如每小时)换一张桌子。
如何编写创建表切换时间表的程序?只是给你一些数字;在这种情况下,大约有 40 人,每张桌子最多可以有 8 人。但是,算法当然需要通用
这是一个想法
从第一人称视角开始的第一部作品..我们称他为X吧
X 必须会见房间里的所有其他人,因此我们应该将剩余的人分成 n 组(其中 n = #_of_people/capacity_per_table ),并让他在每次迭代时与其中一组坐在一起
现在 X 已经处理完毕,我们将考虑下一个人 Y
WLOG Y 是 X 在第一次迭代中必须坐在一起的人。所以我们已经知道 Y 在该时间范围内的桌子组。然后我们应该将剩余的人分成几组,这样每个组在每个连续的时间里都与 Y 坐在一起迭代..对于每次迭代,X 的组和 Y 的组没有共同点
..我想,如果你继续做这样的事情,你会得到一个最佳解决方案(如果存在的话)
或者,你可以通过给每个人一张卡片来众包这个问题,他们可以在卡片上写下所有与他们一起用餐的人的名字。在活动结束时,向名字最多的人颁发某种奖品。他们的卡
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)