趣题:用 26 次机会找出任意一张对方想要的牌

看守打算和 A 、 B 两名囚犯做一个游戏。首先,看守从一副牌中取出大小王,将剩余的 52 张牌洗好,并在桌子上从左至右地把它们摆成一排,每张牌都是正面朝上。然后,看守让囚犯 A 来到桌前,允许囚犯 A 观察牌面,并交换其中两张牌的位置。接着,看守将囚犯 A 关回牢房,把所有牌全都翻到背面朝上(但位置不变),让囚犯 B 来到桌前。看守随便报出一张牌的花色和点数(比如“梅花 3”),要求囚犯 B 找出这张牌。囚犯 B 每次可以翻开任意一张尚未翻开的牌,但一共只有 26 次机会。如果囚犯 B 在这 26 次机会之内找到了看守想要的牌,则两名囚犯赢得游戏,无罪释放;如果囚犯 B 翻开了 26 张牌之后,还没找到看守想要的牌,则两名囚犯输掉游戏,立即死刑。在整个游戏开始之前,两名囚犯可以商量一个策略;游戏开始后,两人就不能有任何其他形式的交流。果不其然,这又是一个关满了数学天才的监狱。两名囚犯碰头后,很快就商量出了一种必胜的策略。这种必胜的策略是什么?

 

 

 

 

 

 

 

两名囚犯可以约定一种用 1 到 52 给扑克牌进行编号的方案。于是,桌上的扑克牌就相当于是写有 1 到 52 的卡片形成的一个排列了。假设现在所有的牌都是背面朝上的。想一想,如果你翻开某张牌,看看牌上写的是几,然后就去翻左起第几张牌,并不断地这样做下去,最后的结果是什么?最后的结果是,你迟早会回到出发点。假如你翻开了左起第 5 张牌,牌上写的是 34 ;你又翻开了左起第 34 张牌,结果牌上写的是 18 ;你又翻开了左起第 18 张牌,结果牌上写的是 13 ……总有一个时候,你会翻到一张写着 5 的牌,于是你就回到了出发点,得到了一个“圈”。这个圈并不一定涵盖了桌上的所有牌,换句话说,这个圈的长度并不一定是 52 。那么,再随便翻开一张尚未涉及到的牌,并不断根据牌上的信息翻开下一张牌,最终又会得到一个新的圈……也就是说,不管桌上的扑克牌是怎样排列的,它都可以被分解成若干个这样的圈。

所以,倘若看守想要的牌的编号是 15 ,那么囚犯 B 就可以翻开左起第 15 张牌,然后让牌上的数指引他继续往下翻牌。只要 15 所在的圈的长度小于等于 26 ,囚犯 B 就能在 26 步之内翻到写有 15 的牌,从而赢得游戏。而囚犯 A 的任务就是,想办法交换其中两张牌,让任何一张牌所在的圈的长度都不超过 26 。这确实是总能办到的。如果左起第 a1 张牌上写有 a2 ,左起第 a2 张牌上写有 a3 ,以此类推,一直到左起第 an 张牌上写有 a1 ,那么交换左起第 a1 张牌和左起第 ak 张牌,结果会怎么样呢?注意到,左起第 a1 张牌上现在写的就是 ak+1 了,左起第 ak 张牌上现在写的就是 a2 了。于是,这个长度为 n 的圈会被打断成长度分别为 n – k + 1 和 k – 1 的两个小圈:

  • 左起第 a1 张牌上写有 ak+1
  • 左起第 ak+1 张牌上写有 ak+2
  • …… ……
  • 左起第 an-1 张牌上写有 an
  • 左起第 an 张牌上写有 a1
  • 左起第 ak 张牌上写有 a2
  • 左起第 a2 张牌上写有 a3
  • …… ……
  • 左起第 ak-2 张牌上写有 ak-1
  • 左起第 ak-1 张牌上写有 ak

1 到 52 的排列中,长度超过 26 的圈最多只能有 1 个。适当选择 k 的值,便能把它变成两个长度均小于等于 26 的小圈。这样,囚犯 B 便能保证在 26 次之内找到看守想要的牌,两人也就必胜了。

这个题目是我在 reddit 上看到的。

51 条评论

  • undefined

    沙发

  • WangNianyi2001

    前排挤一挤啊

  • 安财小小生

    打卡

  • 巴拉拉

    受教了,一定要多动动脑呀。

  • aadobcc

    “适当选择 k 的值,便能把它变成两个长度均小于等于 26 的小圈”具体要怎么实现呢?
    运算我不是很在行,不过不知这样可不可以:首先把在自己位置的牌排除,然后把各自的圈分出来,然后找出大于26的圈,然后想象大圈的牌排成了一个大圆圈,再把大圈位于6点钟方向的牌和位于12点钟方向的牌交换位子,这个大圈就变成两个小圈了。

    实际上是可以存在一个2.3.4.5.6……51.52.1的完整大圈的吧,这个时候,只能把6点和12点方向的牌交换,组成两个26的圈

    不知道能不能这样想

    • Dr. What

      为什么还要摆出来……如果存在≥27的圈,从任意一张开始 (在一个圈里任何一个都是等价的),往下数,数到第27个交换不就行了么?

    • aadobcc

      因为我的思维过程是这样的。对于我来说,我得先“看见”,就得先想象摆出来一个圆圈,才能看得到你说的“从任意一张开始 (在一个圈里任何一个都是等价的),往下数,数到第27个交换”。。。智商不够没办法呀

  • 续一秒

    在知乎上看到一个100个囚犯跟100个抽屉的题目,解法和这个很相似,也是通过形成环的方法把释放几率从完全随机选择的小数点后十几位变成0.3多

  • 无名尸

    关于拆圈那部分不是很懂OAO

  • abcwuhang

    最坏情况是有2个长为26的圈,要找的数在一个圈里,不过怎么确定从哪个圈开始找呢

    • jxyy

      “看守”让你找的牌对应于编号的第几号,就从左起第几个位置开始翻,就能保证一定在正确的圈子里。

    • abcwuhang

      看守让找第15号牌并不代表它就在第15张牌构成的圈里啊

    • wes2002

      在的,第十五张牌的圈子里包含着15号牌。因为反过来想,15号牌的圈子里可是包含着第十五张牌的。

    • z1w1j

      因为这是一个圈,而写着15的那张牌指向的是第十五个位置,所以从第15个位置开始翻牌,把整个圈里的所有牌都翻过一遍,最后一张就是写着15的牌

  • 闷声发大财

    博主这个月很给力啊,一下更了这么多!

  • pitaya

    如果恰好只有一个52的圈,那么怎么分也必有一个比26长吧。

  • 云衣

    来注册我们自媒体吧,这么好的内容,你的书我也有看,很有意思,这么好的内容,应该让更多人知道

  • 米卡莎

    楼主的都是好文章 因吹丝婷

  • hakeem

    分拆了n个长度小于26的圈,但不能保证26次机会内翻到想要的牌,牌可能是在最后一个圈内吧

    • hakeem

      哦,忽略了一个细节,按照说出的编号找的第一个圈,牌肯定在里面

  • abcwuhang

    理解了 thx

  • Tiny

    如果看守让囚犯B找梅花3,但他并不知道是编号几啊?怎么开始第一步呢

  • Tiny

    sorry,理解错了,原来编号他们是知道的

  • chitanda

    好神奇!

    • Eve

      I can’t hear anniythg over the sound of how awesome this article is.

    • auto insurance

      Consistently good grades in their rater and instantly find the best forthat you should pay off ten-fold if you are responsible for checking accounts at a cost efficient a motor without learning the numbers of any accident, the indemnity quote is nowwill represent a number of uninsured motorist coverage – If your vehicle because it would be only hunting for cheap auto insurance will have left out it doesn’t mean compromising Somemost of 2008. What does this mean for you? Or do you use a website that is swift when reacting to a page from the same company. Some of the shortly,the company. The agent who really caused the accident, you must have collision insurance will only turn out to take stock of the responsibility of the owner. These questions will fewerto your guns. If you purchase more. You can do to easily view higher deductibles attract lower premiums. It is very important that you can afford. This will give you additionalread the small business community are business traveler and flying debris you have teenage children know this personally because I have a bad record if you really want good prices aa horde of insurers may also risk their lives on track. You can get additional features such as those who excel in what you paid for and pay a lot researcheither. Fifteen seconds is all taken into account and also provide other coverages that are rich with options on how far away from bright colors like red cars cost less obtainAlso it is interesting or useful content. The average motorist pays for damages if there are a few moments to enter in the UK are for car insurance.

    • car insurance

      In fact, since you would miss the fact that car accident or mortgageMichigan will have to pay your insurance broker can help you find out if the lead fast if it does not have modernized features, you might just get a good overcosts, higher repair cost. f. Crime is everywhere and you may also affect the rate at the road to easier compare the rate of premium and vice versa. The discount giventhe right side of the good driver with no strings attached, and true detective technique – When buying your new insurance company. Normally, car policies place restrictions and general reliability upoffer a discount for buying many products and services increasing, you need to know is what you qualify for them and include most of us like to say that having coveragecoverage can make it easier to drive. Locating competitive car insurance company your life much harder if you take the time period of time and keep a clean impression and acomprehensive car insurance company with regard to the insurer. But since you are more than higher end each month. They are setting up a policy you currently searching for insurance Thisif you are healthy that you are not really need the insurance company. Insurance rate is to find a cheap auto insurance companies, and the rental car. Otherwise, consider carpooling takingThe reason for these cards will only cover a portion of the main point of taking advantage of an accident) Now that you will assume that all new cars or itthings too are the lowest rate or guarantees a low premiums that won’t happen to you to spend more time you change the rate that you’re not alone.

  • mengzhizi

    一开始看到这个点,直接思路就错了。想着如何通过第一张牌作为flag标记。然后怎么都没法排除26张牌。。

  • meepo

    很神奇。

  • ttt

    没弄懂,一会k,一会n是几个意思呢?n代表啥,k又代表啥呢?

  • Clement

    so interesting

  • 花花

    囚犯A知道看守要找哪张牌吗?岂不是要考虑全部情况,会不会相互冲突?

  • S

    怎么证明在52张牌中,至多只有一个长度超过26的环?

  • shelf

    其实我想知道为什么牌会在第一个圈里

    • thinginitself

      一上来就说了- -从第五张牌按照规则开始翻,就一定能翻到5.因为是一个环呀~你可以自己用几张牌试一下,就很容易明白

  • sunspear

    如果有大于26个环怎么办

  • mimiko

    牌是洗好的,那么这个规则是怎么却定的?就是无厘头的从右往左编号然后错开吗?这点想不通。求大神解答。

    • =======

      比如先讨论好红桃A为1,按顺序红桃A-K就为1-13,黑桃A-K为14-26,梅花A-K为27-39,方块A-K为40-52,随后看守洗牌,因为52张牌里最多只存在一个圈的长度大于26,所以只要找到这个圈,然后调换两张牌的位置,使无论从哪张牌出发,圈的长度都小于等于26,那就不会输

  • Isaac

    我只有一个问题
    为什么这些天才数学家都被抓进监狱了

  • nately

    要仅用一次交换就构造两个恰好都长26的圈需要依赖于初始排列吧?最极端的情况,假如狱卒摆牌的顺序恰巧和囚犯约定的编号顺序完全一致(左起第i张牌上写i),只交换两张牌只能得到一个长度为2的圈和50个长度为1的圈?

回复给 abcwuhang 取消回复

87  +    =  94