码迷,mamicode.com
首页 > 其他好文 > 详细

文章标题

时间:2015-03-18 01:16:03      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:程序员-逻辑题

拜占庭赌徒


问题

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

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

解答

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

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

所以最后答案是:400美元

文章标题

标签:程序员-逻辑题

原文地址:http://blog.csdn.net/u013647382/article/details/44367367

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!