2016-10-05 20 views
0

私は組み合わせの質問があります。私はこの「シークレット・サンタ」アプリを設計しました。これは、ユーザーがギフト・グループに参加して、金額の贈り物を交換することができるようにするものです。ユーザーがログインすると、各グループのメンバーと一緒に、彼がいるすべてのグループを見ることができます。今、私はグループをデザインして、それぞれのグループがギフトのために人をランダムにペアにしたいと思っています。私はグループの誰もが贈り物をする人と贈り物を受け取る人を割り当てられることを保証するようにアルゴリズムを働かせたい。たとえば、グループに3人のメンバーがある場合、[A, B, C]A->B, B->C, C->Aが必要です。組み合わせ - 配列からの人をペアにする

どうすれば効果があるのでしょうか? 1つまたは2つの配列だけを使用するかどうかは関係ありません。どんな助けや提案も感謝しています!

+0

ため{persons[i], persons[(i+1)%n]}のペアを作るので、問題は何ですか?何か試しましたか? – taguenizy

+1

リング交換をするだけです。 –

+0

この質問はプログラミング言語ではなくアルゴリズムに関するものです。すべてのプログラミング言語タグは削除する必要があります。 –

答えて

1

nできるようにします - グループ にいる人の数は、だからすべての人

+0

無作為なここではない! –

+2

最初にランダムシャッフルを実行します。そうでなければ、これは問題ありません。 –

関連する問題