球和篮子问题算法?

时间:2009-12-22 18:36:46

标签: algorithm

假设有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是朋友,他们应该把球扔给对方的篮子。但与此同时,他们也可以抛出一些随机的陌生人的篮子。

我知道这是一个优化问题,没有特定的解决方案,但我愿意重新开始。

感谢。

1 个答案:

答案 0 :(得分:1)

朋友们可能会给对方一个球 - 这是一个很好的起点。

for x,y in people:
    if (x contains y && y contains x):
        x & y are friends.
    else:
        skip.

粗糙的伪代码,用你所知道的内容写出来。

这只是一个开始,但你应该看看朋友群来清除巧合并加入被遗忘的朋友。