AZ Tools

Secret Santa(神秘圣诞老人)配对抽签器

随机

Secret Santa 抽签在数学上是一个 derangement(无不动点的排列) — 每位参与者把礼物送给其他人,没人送给自己。本工具生成一个均匀随机的 derangement,并遵守你设置的所有排除对(夫妻、室友、不应互抽的人)。每个分配都隐藏在一张个人揭示卡后面,主持人可以把设备一个一个传给参与者,而无需看到完整映射。最多尝试 2,000 次随机洗牌;若排除图过度受约束(例如 3 人互相排除),会报告 "无解"而不是生成无效抽签。所有计算都在本地浏览器中完成 — 姓名和配对信息不会离开浏览器。

参与者
点击此人不应抽到的人:
点击此人不应抽到的人:
点击此人不应抽到的人:
点击此人不应抽到的人:
预设
说明

derangement 在浏览器中通过随机试验本地计算(最多 2,000 次尝试)。隐私运作:分配结果隐藏在各自的揭示按钮后,主持人可逐人传递设备而无需看到全部配对。要实现完全匿名抽签,请在所有人都看过自己卡片后才使用 "复制全部"。

使用方法

  1. 添加 2 名或以上参与者(使用 Add 添加行)。
  2. 可选地点击其他参与者标签将其排除 — 夫妻或不应互抽者。
  3. 按 Draw 生成分配结果。
  4. 将设备依次传给每位参与者,各自点击 Reveal 仅查看自己的接收者,然后 Hide 再传给下一位。
  5. 使用预设(家庭圣诞、办公室派对、情侣组、大型节日聚会)快速开始。

常见问题

什么是 'derangement',为什么需要?
derangement(错排)是没有元素停留在原位的排列。对 Secret Santa 而言:无人抽到自己。如果直接洗牌,大约有 1/e ≈ 37% 概率至少有人抽到自己。本工具拒绝所有自抽的洗牌结果,因此输出始终是有效的 derangement。
排除列表如何工作?
每位参与者有一份 "不能抽" 名单。夫妻、室友、兄弟姐妹常常互相排除,以避免礼物交换太显眼。算法最多尝试 2,000 次随机洗牌,返回首个满足所有排除的结果。若不存在有效分配(例如 3 人全部互相排除),报告 "无解"— 请放宽约束或增加参与者。
我作为主持人在一台设备上运行,隐私能保证吗?
如果大家都遵守流程就可以:每人点击 Reveal 只看自己的卡片,然后 Hide 再传给下一位。主持人在传递时不应偷看。若需绝对隐私,使用 mailto: 逐人发送(规划中)或让每个人在自己的手机上用同一种子抽签。
两个人会互相抽到吗?
会 — 互送礼物(A→B 且 B→A)默认允许。如果不想要互对,为已配对的每两人添加双向排除即可。

相关工具