6

每年感恩节,我的家人都会从帽子中抽出名字来确定他们将成为圣诞礼物交换的“秘密圣诞老人”。对我们的家庭文化来说,重要的是家庭中没有其他人知道彼此是谁,以保持有趣。选择的唯一规则是你不能选择你的配偶。如果发生这种情况,您将再次抽奖并将您配偶的名字放回帽子中。

由于今年的物流和旅行计划,我们提前庆祝圣诞节(感恩节后仅两周)。

为了有足够的时间寻找礼物,我们现在想选择名字。我们的家庭分布在美国各地。有些成员可以访问互联网,有些则不能(例如我亲爱的奶奶)。

我想做的是有一个公平的协议来模拟从帽子中抽出名字,并确保一定程度的保密性而不会过于复杂。一些网站,如以前的drawnames.com或其他类似网站,通常要求人们输入他们的电子邮件地址。我想绝对确保我家人的电子邮件地址不会被滥用,因此我不想将它们信任到另一个站点。

我能想到的最好的协议是:

  1. 编写一个随机挑选人员并确保人们不会得到配偶的程序。
  2. 该程序将向我显示列表的一半,但不会显示谁得到了我的名字,但会显示我有谁的名字以及得到我妻子名字的人。
  3. 然后,我将离开房间,程序将向我的妻子显示另一半的人员列表(其中将包括谁有我的名字)。
  4. 然后我和妻子会联系每个人,告诉他们他们有谁。

我错过了更好的协议吗?更好,我的意思是允许更多保密的东西。再次,由于物流和保持简单,我不想建立一个网站。

4

11 回答 11

14

拿一些纸和一些信封。每个信封的两个编号和每个纸张的两个编号,这样您就有 2 个“1”信封和 2 个“1”纸、2 个“2”信封和 2 个“2”纸,等等。

让您或您的妻子在匹配的纸上写下每对夫妇的名字,例如:您可以将您的名字写在“1”纸上,而您的妻子必须在另一张“1”纸上。适当地处理匹配的信封(您的地址将在示例中的两个“1”信封上)。

把所有的文件和信封翻过来,这样就看不到姓名或地址了(你确实记得在纸和信封的背面写下数字,对吗?)交换位置,以便没有这样做的人写信封。请务必将每张编号的纸张放入具有不同编号的信封中(例如:切勿将“1”纸张放入“1”信封中)。这样,你就会知道 A) 没有人得到自己,B) 没有人得到他们的重要人物。

并非每个答案都需要涉及计算机!只需询问离您最近的 D&D 玩家即可。:-P

于 2008-11-06T14:41:33.593 回答
4

这是一个真正的低技术解决方案。将姓名和电子邮件地址列表提供给您的朋友,让他们画出姓名并通过电子邮件发送给每个人。见鬼,如果你没有人,我会做的。

于 2008-11-06T21:26:35.023 回答
3

这是一个软件解决方案。

  1. 将每个人的姓名和地址放在一个列表中。
  2. 复制列表,然后随机播放。
  3. 如果原始列表中的任何地址在混洗后的列表中有匹配的地址,则要么再次混洗,要么进行随机交换,直到两个列表中没有插槽具有相同的地址。(在软件中执行此操作,这样您就不会偷看。)
  4. 按第一个列表的顺序打印信封。
  5. 按打乱列表的顺序打印字母。
  6. 不偷看就塞进信封。

这假设您家中的每个人都与他们的配偶住在同一个地址。它还假设您可以相信自己不会偷看。

节日快乐。

于 2008-11-06T15:50:39.087 回答
2

好吧,必须要有信任元素,因为你很容易作弊,但如果你只是想避免意外看到礼物分配,给每个人分配一个大的随机数怎么样,为每个人和他们的代码创建一个列表数字,并为每个人打印单独的表格,其中包含他们“绘制”的人的代码。这样,无需记住数字并在列表中查找,您可能会将“Bob 分配给 0785286741234”解释为“Bob 分配给 Kelly”。我可能会让每个人的第一个和最后几个数字都相同,所以你不能简单地记得 Bob 得到了 7 个数字,并且只有一个以 7 开头的随机条目。将差异更深地埋在数字字符串中。看看他们是如何在视觉上“迷失”的:

0785253451234 鲍勃

0785286741234 凯利

0785238761234 赫尔曼

0785200281234 莉迪亚

于 2008-11-06T14:09:24.547 回答
0

为什么不自动向每个人发送电子邮件?您可以将名称放在文件中并将其压缩为附件,以避免偷窥。

于 2008-11-06T13:41:25.977 回答
0

在 OS X 上,利用文本转语音引擎非常容易,只需调用“say”命令行实用程序即可。在 Windows 中也有一些方法可以做到这一点。

所以你可以给你名单上的任何人打电话,告诉他们应该为谁买礼物,然后把耳机从电脑上接到电话,当你告诉你的程序说出与你相关的人的名字时正在打电话。然后,他们可以告诉您他们是否听得很清楚,并且这不是他们的配偶。

于 2008-11-06T13:43:25.410 回答
0

您可以让您的计算机通过调制解调器拨打每个人的电话,并在应答后使用文字转语音在线路上宣布他们的姓名。这有点像政治候选人和广告商用来向您播放信息的自动拨号程序。或者,您可以设置它,以便您的家人拨打您的号码并且计算机接听。然后他们按下电话按钮拼出他们的名字,然后计算机告诉他们他们画的是谁。

这样,名称可以由一个简单的程序随机选择,您不必看到/听到谁得到什么名字。

有可以在 linux 上运行的开源软件来做到这一点,虽然我从来没有使用过。我假设有一个开源的 windows 等价物。

我假设您的整个家庭都可以使用电话,即使他们没有电子邮件。

于 2008-11-06T15:38:34.400 回答
0

使用你的邻居:

准备 N 个写有名字的信封。

准备 N 张姓名表,其中包括配偶姓名,例如

“鲍勃(莫尔瓦的配偶)”

比离开房间,让你的邻居做随机匹配。快速。亲自或通过美国邮件将信封交给这些人

圣诞快乐

于 2008-11-06T15:47:57.843 回答
0

一个简单的解决方案:

  • 将每个名字写在卡片上并合上。
  • 对于每一对,将一个放在堆栈 A 上,另一个放在堆栈 B 上。
  • 将单打分为 A 和 B。(您必须知道谁在哪个堆栈上)。
  • 将堆栈 B 上的笔记分配给堆栈 A 上的某人,反之亦然。
  • 如果有奇数,请将其中一个(盲人)分开并将其分配给另一个。(这个人有很小的机会得到自己)但你可以通过自己拿卡并与另一张交换它来对抗它,如果是你的话。
于 2008-11-06T21:18:49.283 回答
0

我不知道这对你来说是否为时已晚。我刚刚创建了一个 Web 应用程序,它会做一些与此非常相似的事情 - http://www.secretsantaswap.com/

您可以从 Gmail/Hotmail/Outlook 中导入联系人,并且可以指定不会相互匹配的子组(例如,bill 和 lisa 永远不想得到彼此的姓名)。我通过电子邮件向每个参与者发送他们的目标。参与者可以拥有相同的电子邮件地址(例如,父母可以收到他们孩子的所有电子邮件)。

于 2008-11-28T16:13:17.547 回答
0

今年我们交换礼物的时候,我建议http://www.secretsanta.com。我姐姐负责,她当时没有互联网连接,所以没有使用。

如果我没记错的话,它可以记录前几年的情况,并且可以进行排除,这样来自同一个家庭的人就不会互相了解。

于 2009-01-19T20:42:14.213 回答