鍋あり谷あり

テーマを決めずに適当に書いています。

既婚者のプレゼント交換

ふと思いついた問題。

n組の夫婦が参加しているクリスマスパーティーで、プレゼント交換をする。
自分のプレゼントは、自分と配偶者以外の人に渡らねばならない。
1)このとき、プレゼント交換をする方法の場合の数はを n で表せ
2)どのプレゼント交換も等確率で表れるような、プレゼント交換方法生成プログラムを書け

n=1 だと、不可能。0通り。

n=2 だと、4通り。書いておこうか。A夫妻と B夫妻で。

  • A夫→B夫 A妻→B妻 B夫→A夫 B妻→A妻
  • A夫→B妻 A妻→B夫 B夫→A夫 B妻→A妻
  • A夫→B夫 A妻→B妻 B夫→A妻 B妻→A夫
  • A夫→B妻 A妻→B夫 B夫→A妻 B妻→A夫

n=3 については、まだ考えてない。
2番についてなんて、ちっとも。