假设有N个人,所有这些人都有1个篮子和无限的球。 他们可以把球扔给别人的篮子。
我们让他们把球扔到别人的篮子里,我们想出了这样的场景:
'A'人的篮子 来自E,F,G,I,K,L,M,P的球
'B'人的篮子 来自A,C,E,F,K,T,R,Z的球
'C'人的篮子 来自......的球
等...
所以我想设计一个算法来找出哪些是朋友。例如,如果A,C,D和E是朋友,他们应该把球扔给对方的篮子。但与此同时,他们也可以抛出一些随机的陌生人的篮子。
我知道这是一个优化问题,没有特定的解决方案,但我愿意重新开始。
感谢。
答案 0 :(得分:1)
朋友们可能会给对方一个球 - 这是一个很好的起点。
for x,y in people:
if (x contains y && y contains x):
x & y are friends.
else:
skip.
粗糙的伪代码,用你所知道的内容写出来。
这只是一个开始,但你应该看看朋友群来清除巧合并加入被遗忘的朋友。