我有一个组合问题。我设计了这个"秘密圣诞老人"允许用户加入礼品组的应用程序,在这些礼品组中,他们以一定金额交换礼品。当用户登录时,他可以看到他所在的所有组以及每个组中的成员。现在,我想设计小组,以便每个小组随机配对人们送礼。我希望算法能够正常工作,这样我才能保证群组中的每个人都被分配了一个人来送礼物,并且一个人可以从中获得礼物。例如,如果一个论坛有三个成员[A, B, C]
,我想要A->B, B->C, C->A
。
任何想法如何起作用?如果它只使用一个或两个数组并不重要。任何帮助或建议表示赞赏!
答案 0 :(得分:1)
让我们n
- 团体中的人数
所以只需为所有人制作{persons[i], persons[(i+1)%n]}
对