帽子から名前を引き出すことをシミュレートし、機密性を確保するための最良のローテクプロトコルは何ですか?

StackOverflow https://stackoverflow.com/questions/268682

質問

毎年感謝祭で、私の家族は帽子から名前を引き出して、誰が「秘密のサンタ」になるかを決めました。クリスマスギフト交換用。私たちの家族文化にとって、それを面白く保つために、家族の誰もがお互いが誰なのかを知らないことが重要です。選択の唯一のルールは、配偶者を選ぶことができないということです。その場合は、もう一度描き、配偶者の名前を帽子に戻します。

今年の物流と旅行の計画により、私たちはクリスマスを早めに祝います(感謝祭の2週間後)。

ギフトを探すのに十分な時間を与えるために、ここで名前を選択します。私たちの家族はアメリカ全土に位置しています。一部のメンバーはインターネットにアクセスしていますが、一部のメンバーはそうではありません(例:私の親愛なるおばあちゃん)。

やりたいことは、帽子から名前を引き出すことをシミュレートし、過度に複雑になることなくある程度の機密性を保証する公正なプロトコルです。以前の drawnames.com などの一部のWebサイトでは、通常、メールアドレスを入力してください。家族のメールアドレスが悪用されないことを絶対に確認したい そのため、別のサイトでそれらを信頼したくありません。

思いつく最高のプロトコルは次のとおりです。

  1. ランダムに人を選び、配偶者がいないことを保証するプログラムを作成します。
  2. プログラムはリストの半分を表示しますが、私の名前を取得した人は表示しませんが、自分の名前と妻の名前を取得した人は表示します。
  3. その後、部屋を出ると、プログラムは残りの半分の人のリストを妻に表示します(私の名前を持つ人が含まれます)。
  4. 妻と私はそれぞれの人に連絡し、彼らが誰であるかを伝えます。

より良いプロトコルがありませんか?もっと良いことに、私はより多くの秘密を可能にする何かを意味します。繰り返しますが、ロジスティックスと物事をシンプルにするために、ウェブサイトを構築する必要はありません。

役に立ちましたか?

解決

OS Xでは、&say; say"を呼び出すだけで、音声合成エンジンを非常に簡単に活用できます。コマンドラインユーティリティ。ウィンドウでこれを行う方法もあります。

だからあなたはあなたのリストに載っている人を呼び出して、誰に贈り物を買うべきか聞いて、コンピュータから電話までヘッドフォンを付けて、あなたのプログラムに関連する名前を言うように言うことができますあなたが呼んでいる人。そうすれば、彼らはそれをはっきりと聞き、それが彼らの配偶者ではないことをあなたに伝えることができます。

他のヒント

紙と封筒を入手します。 2枚の「1」ができるように、各封筒の2枚と各用紙の2枚封筒と2つの「1」論文、2" 2"封筒と2つの「2」論文など

あなたまたはあなたの妻に、一致する書類にすべてのカップルの名前を書いてもらいます。シートとあなたの妻が他の「1」の上にいる必要があります。シート。一致するエンベロープに適切にアドレスします(この例では、アドレスは両方の「1」エンベロープにあります)。

名前や住所が見えないように、すべての紙と封筒を裏返します(紙と封筒の裏に数字を書くのを忘れないでくださいね?)書くことをしない人が封筒に詰めるような場所。番号の付いたすべての用紙を別の番号の封筒に入れてください(たとえば、「1」の用紙を「1」の封筒に入れないでください)。そうすれば、A)誰も自分自身を獲得できず、B)誰も重要な他者を獲得できなかったことがわかります。

すべての回答にコンピューターが必要なわけではありません!最寄りのD& Dプレーヤーにお問い合わせください。 :-P

これが本当のローテクソリューションです。名前とメールアドレスのリストをあなたの友人に渡し、名前を描いて全員にメールを送るよう依頼します。地獄、私はあなたが誰も持っていないならそれをします。

まあ、簡単に不正行為をすることができるので、信頼の要素がなければなりませんが、誤ってギフトの割り当てを見ることを避けたい場合、大きな乱数を全員に割り当てる方法は、すべての人のリストを作成しますおよびそのコード番号を使用し、「描画」する人のコードを各人に個別に印刷します。そのようにして、番号を覚えてリストで調べることなく、「ボブが0785286741234に割り当てられました」と解釈する可能性があります。 「ボブはケリーに割り当てられた」など。おそらく、最初と最後の数桁をすべての人で同じにするので、ボブが7のものを手に入れ、7から始まるランダムエントリが1つしかなかったことを単純に思い出すことはできません。彼らが「失われた」方法をご覧ください。視覚的に:

0785253451234 Bob

0785286741234ケリー

0785238761234ハーマン

0785200281234 Lydia

これはソフトウェアソリューションです。

  1. 全員の名前と住所をリストに入れます。
  2. リストのコピーを作成し、シャッフルします。
  3. 元のリストのアドレスにシャッフルされたリストに一致するアドレスがある場合、再度シャッフルするか、両方のリストに同じアドレスを持つスロットがなくなるまでランダムにスワップします。 (これをソフトウェアで実行して、覗かないようにします。)
  4. 最初のリストの順に封筒を印刷します。
  5. シャッフルされたリストの順序で文字を印刷します。
  6. 封筒は覗かないで詰めます。

これは、家族全員が配偶者と同じ住所に住んでいると仮定しています。また、覗かないように自分を信頼できることを前提としています。

ハッピーホリデー。

全員にメールを自動的に送信しないのはなぜですか?名前をファイルに入れて、添付ファイルとしてzipして目を覗かせることができます。

コンピュータにモデム経由で各人にダイヤルさせ、テキスト読み上げを使用して、応答後に回線上で名前をアナウンスできます。これは、政治候補者や広告主がメッセージを再生するために使用する自動ダイヤラープログラムのようなものです。または、家族があなたの番号に電話をかけ、コンピューターが応答するように設定することもできます。次に、電話ボタンを押して名前のスペルを入力すると、コンピューターは誰が描いたかを伝えます。

これにより、簡単なプログラムで名前をランダムに選択でき、誰がどの名前を取得したかを見たり聞いたりする必要がありません。

これを行うためにLinuxで実行できるオープンソースソフトウェアがありますが、使用したことはありません。同等のオープンソースウィンドウがあると思います。

あなたの家族全員が電子メールを持っていなくても電話にアクセスできると思います。

隣人を使用する:

名前の付いたN個の封筒を準備します。

配偶者の名前を含むN名のシートを準備します。例:

  

"ボブ(モルバの配偶者)"

部屋を出て、隣人にランダムマッチングを依頼するよりも。 プレスト。個人に封筒を渡すか、米国の郵便で封筒を渡します

メリークリスマス

簡単な解決策:

  • カードに各名前を書いて閉じます。
  • 各カップルについて、一方をスタックAに、もう一方をスタックBに配置します。
  • AとBにシングルを分割します(誰がどのスタックにいるのかを知る必要があります)。
  • スタックBのメモをスタックAの誰かに割り当て、その逆を行います。
  • 奇数がある場合は、シングルの1つ(ブラインド)を離して、別のシングルに割り当てます。 (その人が自分自身を獲得する可能性はわずかにあります)が、自分でカードを取り、それがあなたなら別のカードと交換することで、それに対抗できます。

これがあなたにとって遅すぎるかどうかはわかりません。これに非常に似た動作をするWebアプリを作成しました- http://www.secretsantaswap.com/

Gmail / Hotmail / Outlookから連絡先をインポートできます。また、相互に一致しないサブグループを指定できます(たとえば、billとlisaはお互いの名前を取得したくない)。各参加者にターゲットをメールで送信します。参加者は同じメールアドレスを持つことができます(たとえば、親は子供のすべてのメールを受信できます)。

今年ギフトを交換したとき、 http://www.secretsanta.com を提案しました。姉が担当していて、彼女は当時インターネットに接続していなかったので、使われませんでした。

私が正しく覚えていれば、過去の年を追跡し、同じ家族の人々がそれぞれを乗り越えないように除外することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top