上篇:程序员的脑力瑜伽操01-三个神枪手
公布“答案”啦(上篇的几位程序猿朋友给的答案很让我惊奇啊,看完才发现自己的思维在某种程度上已经被束缚住)。我不能说这个答案就是正确的、标准的,就像我们的代码一样,没有绝对标准的代码,各有各的写法,但或许有较优的。
思考下列问题:
1.如果你也就是A,想存活,有一种思路是,对B和C不再产生威胁,而如何不再产生威胁?
2.上篇博文中,有人提到了自己拿枪指着自己作出自杀状,也有人提到了扔枪。而扔掉枪是也是我开始想到的。
3.如果选择扔枪,那枪的位置扔到哪里,是个很有意思的问题。
4.一种情况:A把枪丢到A和B之间,AB线段3、7分,枪离A自己远点,占据3m * 70%的距离,离B近点,占据3m * 30%的距离,这时C会比B先开枪,因为C要么先发现A扔枪,要么可以用枪先指向B。C为了防止B射杀自己,然后去捡枪射杀A(为什么?因为A的枪离B近,B会这么做),所以只好射杀B。此时,A再捡回自己的枪,A比C先捡到地上的枪,因为A离枪的距离是3m*70%,而C离枪的距离要大于3m*70%,这样A可以保命。
(该答案是书中提供答案,然细细分析,有一定的道理,也有很多疑问之处,读者不妨自己想)
5.另一种情况:A把枪丢到BC线段的垂直平分线上,并且刚好位于该等边三角形的外接圆的圆形,或者说内切圆的圆心。此时,B和C看到A的枪距离三人距离一摸一样,会放松警戒,B和C会射杀对方,当A听到枪响立马向圆心跑去,而由于B和C对射,胜利的一方从扣下扳机到反应跑去圆心,会落后于A。A仍然有机会射杀C。
6.没有答案的答案。正如朋友的解释,也都有可圈可点之处。而这类逻辑题,题目的在某种细节上描述的缺失,正是丰富多彩的答案产生的原因。也正是由于没有太多的限定,才更好的去发散思考。
7.从心里博弈上讲,A和B和C假如都足够聪明,ABC都将枪扔到了圆心,我想他们此时应该对着彼此哈哈大笑呢吧。所以答案是没有答案的答案。而更搞笑的是,为什么要“杀死”对方呢?A说,我是亿万富翁,用钱砸死你们两个。。。这有点扯了。
——————————————————————————————————————————————
02弹-谁是凶手
有15个犯罪嫌疑人排成一排,其中只有一个是杀人凶手。你要通过问他们“凶手在哪里”来找出凶手。而被问的人会根据实际情况回答以下三种真实情况的某一种(被询问的人不会撒谎)
1.我是凶手(当被询问的对象刚好是凶手时)
2.凶手在我左边
3.凶手在我右边
那询问人要求在3次以内(包括3次)在15人中找出凶手,那么他该如何问话呢?
亲爱的程序猿们,这个很简单奥。
PS:讨论第一个问题回复,加上Tag01,如 Tag01:我的评论
讨论第二个问题时候加上Tag02,如 Tag02:我的评论