@ 2023.01.10 , 13:22

脑力小体操:斗地主残局

本期轻松一下,打扑克残局。

你可以选择先手或后手,顾名思义,先手先出。出牌遵循斗地主的规则。先把自己的手牌打光者胜。

先手牌【2,A,JJ,10,9,8,3】(JJ是两个J)

后手牌【大王,小王,2,K,J,9,7,5,3】

问:你会选择哪手牌?你又要按何种牌序来取胜呢?


上一期 无信任的信任算法

你和其他15个人,参加类似于鱿鱼游戏的真人秀节目。你们每个人都有一个身份ID,是一个9到15位数。这个是自己最大的秘密。因为游戏里原则上每个人都是潜在的竞争对手,如果被他人知道了自己的ID,在后面的环节里就有可能直接被对方淘汰出局。比如说,某个关卡有个奖励道具是死亡笔记,只要把ID写上去,对应的玩家就直接出局。

另一方面,与人共享ID信息就可以结盟,并带来巨大的好处,比如说得分翻倍。所以,如果玩家之间存在场下的亲密关系(如夫妻,亲友等),天然存在互信的基础,结盟就能给自己带来巨大优势。但结盟与否,其他玩家是不可见的。显然,结盟的人也不会自己四处宣扬。

现在的问题是,你自己有没有信得过的人,你自己最清楚。同时,你也不知道其他人有没有盟友。

现在,你们16个人卡在某一环节上。

过关条件是:打开并通过一道密码门,密码是你们所有人的ID之和。

显然,假如其他15个人已在私下结盟,那你无论如何都无法守住自己ID。但让我们乐观一点,不考虑如此极端的情况——否则还不如直接退出游戏回家。但可以肯定的是,其他玩家肯定有若干人已经结盟。

现在,你能否设计出一个相对简单的算法(一套操作流程,必要的时候可以向组织者索要各种简单工具),既算出所有人的ID之和,同时保护自己(和其他玩家)的ID不为彼此所知?

显然,存在很多算法。我这里给出我想出来的那个,基本和大家的大同小异。

流程

每个参赛者都用统一标准的纸条写上一个自己随机想到的数字,然后把自己纸条揉成一团,都丢在一个不透明的抽签桶里。

定好顺序,每个参赛者依次从桶里面摸出一个纸团,展开后把自己的ID和纸上的数字相加,并把结果报给所有人。依次求和,得到和数A。

抽签完毕后,每个人再把抽到的纸条揉成一团重新丢回抽签桶,摇晃均匀后,再全部倒出,展开,把上面的所有数字求和,得到和数B。

所求密码就是A-B。

赞一个 (7)