拜占庭赌徒

拜占庭赌徒

问题

  拜占庭赌局规则如下:你和一群“顾问”一起参与赌局,其中一个顾问会在一张纸上写下0或1,并且展示给其他顾问看,但不会让你看。然后把那张纸扣着放在你面前。随后,每个顾问都会告诉你纸上写的是什么数字。他们的演技精湛,你无法通过任何明显的几号或者表情分辨出他们是否说谎。每一局,你都可以不下注,也可以压伤部分甚至所有的财产。(每一局赢的数量等于押的数量)
  假设一共有4个顾问,其中两个人会一直说真话,但是你不知道是哪两位。你可以玩三局。赌局开始你有100美元,问:三局之后你确保能赢多少钱?

题目来自:《程序员面试逻辑题解析》

解答

一共玩3局,由于有两个人一直会说真话,所以第一局中可能出现3中情况:

  • 3个人说一样:全押3个人说的,因为其中必有两个人说真话,收入100。而且通过第一局,可以确定3个人之中必有2个人是说真话的,下一局也可选这3个人中,两个人说一样的注,因为这2个人必定是说真话的人。第三局就依然。这样最顺利可以拿到800美金。
  • 2个人说一样:第一局不押,因为无法辨别哪两个是说实话的人。但是通过第一局后,公布答案后可以知道哪两个人是说实话的人,所以后两句都可以全押这两个人说的注,这样最多可以赢到400美元。
  • 4个人说一样:全押,一定赢,因为有两个人说的是真话,收入100。剩下2局就是前两种情况加第3种情况。最坏能赢到400美元。

所以最后答案是:400美元

你可能感兴趣的:(程序员-逻辑题)