请姐妹们帮忙:一道面试逻辑题。

第一个人进去的时候看到第一块桌布是蓝色的,就翻第二块,否则把第一块翻成蓝色。从2到49天,第一次进去的人看到第一块桌布是蓝色的就不要动。第一个进去两个的人开始计数,并且把第一块桌布翻成红色,譬如说他是在第19天进去第二次的,就说明已经有18个人进去过了。后面进去的人看到第一块桌布是红色的也不要动。如果第50天进去的人如果看到第一块桌布是蓝色的,就宣布所有人都进去过了,否则就把第一块桌布翻成蓝色。然后从51天开始,除了负责计数那个人,其他人如果是第一次进去又看到第一块桌布是蓝色的就把桌布翻成红色,否则动第二块桌布,计数那个进去的时候看到第一块桌布是红色的话就把他翻成蓝色,然后把人数+1,就像前面是18的话现在时19,这样记到50就宣布所有人都进去过了。

yangyang1213于2009-07-19写道:



Kissdqass于2009-07-19写道:





:cn06: 你不是说有一天时间的吗?不是开始以后才不能沟通的吗?




是有一天时间,不过我没看懂你的答案中的最后一个人是如何确定自己是最后一个人的 :cn17:


第50天,如果有人翻过布就第51天的那个人宣布

Suet于2009-07-19写道:



yangyang1213于2009-07-19写道:



leannsc于2009-07-19写道:



Suet于2009-07-19写道:



1.首先选出一个工人做计数工作

2.当任何一位工人进房间时如果看到左边台布是红色就翻成蓝色,如果左边已经是蓝色的了,无论右边什么颜色就翻一面,当自己已经翻过一次左边的台布后就不可以再翻左边只能翻右边的了

3.当计数工人进房间看到左边的台布是蓝色就翻成红色,然后纪录一次(表示一个工人已经报到过了),当翻第50次的时候就可以报告地主已经成功了


如果这样的话,那这名计数工人至少要进房间50次才行,基本不可能,即使可能,那估计也比1年的时间长上很多了


至少应该是进49次




计数工人有可能是第一个进房间的,所以他第一次进房间无论左边是红色还是蓝色,都要算一次,从第二次进房间才能开始算其他人数,加上自己那次就需要50次,不算自己第一次进房间就数到49次。其实我也是借鉴监狱放风的那个逻辑题想出的方案,也许可以改良或有其他更好的方法。


只要自己不是第一天进去的就是49次吧。

anyway, MM很聪明,膜拜下 :shy:

http://db.riskwaters.com/global/actuary/site/downloads/puzzle-may-09.pdf



look at the solution for puzzle 422 the 100 prisoners reprise



this is an almost identical problem



the original puzzle is



http://www.the-actuary.org.uk/pdfs/0409_puzzles.pdf



pm me if you have any issues with the solution

pennybear于2009-07-19写道:



ElegantBlue于2009-07-19写道:



pennybear于2009-07-19写道:



mylittlemouse于2009-07-19写道:



我都快发疯了,不会做啊,着急啊。希望哪位好心人帮忙。 :cn03: :cn03: :cn03:



逻辑题内容如下:



有1个地主,他有50个工人。 有一天,他把50个工人叫到面前,对他们说,现在有一个房间里,里面有2张桌子,每个桌子上都有一块桌布,一面是红色一面是蓝色。从第二天开始,每一天,地主会叫其中一个工人进那个房间,那个工人一定要把其中的一块桌布翻面(工人可以任意选择他想翻哪块桌布)。 地主有权利选择任何一个工人进那个房间,而且可以选择同一个人多次进那个房间。



如果在这个过程中,任何一个工人在某一天说,他们50个工人都已经进去过那个房间至少一次,并且事情属实的话,这些工人就可以不用劳动地拿一年工钱。



地主给工人们一天的思考时间,从第二天开始实施。从那开始,50个工人之间不能再互相见面或者以各种方式沟通,直至结束。



问,工人们用怎样的方法才能成功地不用劳动而拿到一年工钱?









ElegantBlue于2009-07-19写道:



50个人里挑出一个人来,只有这个人能把布翻到蓝色,其他人在第1次进那房间的时候把布翻到红色,以后再进房间不再动桌上的布。这样被挑出来的那个人只要翻过布49次就证明每个人都进去过房间了。当然,只有地主是随机挑人这才好用。








没看全。。。如果必须翻一条,那除了被选的那个人,其他人只要是第1次进房间,就翻第1块布,第2次以上就翻另外一块布,被选的那个人只记第1块布就好了






可是被选的人 又不能一直待在房间里数第1块布被翻了几次



被选的人每次进去只要看见红色面就翻回成蓝色,就象reset一样,所以他每次离开是,布都是蓝色的,所以当他再进去的时候,只要看见红色面,就说明因为又有一个新的人进入房间了,因为其他人只有再第1次进的时候才把布翻成红色。还有,我前面说错一点,其他人如果第1次进房间布已经是红色的话,就翻第2块布(不被计算的那块),只有等他哪次进房间发现第1块布是蓝色的才可以翻成红色,因为如果第1块布已经是红色的,那说明是其他人的第1次

sixday1004于2009-07-19写道:



地主有权利选择任何一个工人进那个房间,而且可以选择同一个人多次进那个房间。





我是地主,我1年就选同一个人进365次房间

剩下的工人是神仙也没用,乖乖给我干活!!


这个绝了,哈哈!!

nahco3于2009-07-19写道:



第一个人进去的时候看到第一块桌布是蓝色的,就翻第二块,否则把第一块翻成蓝色。从2到49天,第一次进去的人看到第一块桌布是蓝色的就不要动。第一个进去两个的人开始计数,并且把第一块桌布翻成红色,譬如说他是在第19天进去第二次的,就说明已经有18个人进去过了。后面进去的人看到第一俄块桌布是红色的也不要动。如果第50天进去的人如果看到第一块桌布是蓝色的,就宣布所有人都进去过了,否则就把第一块桌布翻成蓝色。然后从51天开始,除了负责计数那个人,其他人如果是第一次进去又看到第一块桌布是蓝色的就把桌布翻成红色,否则动第二块桌布,计数那个进去的时候看到第一块桌布是红色的话就把他翻成蓝色,然后把人数+1,就像前面是18的话现在时19,这样记到50就宣布所有人都进去过了。



这个似乎不可行。假如19天的时侯第一个人进去两次,从第20-50天第一次进去的人,桌布当时是红色的,51天以后也不会翻桌布(因为已经不是第一次进去的),所以miss了。真的要这样的话,要加一个条件,如果2-50天第一次进去发现桌布是红色的话,50天后进去的时侯看到桌布是蓝色的时侯,要翻成红色(只翻一次)。

其实要不要搞到这么复杂呢?

第一,题目没有限定完成的期限(就是100年以内做完也行)
第二,题目并没有要求用最少的时间去完成这个任务,所以只要能拿到一年免费的工钱就完成任务。最重要的是保证50个人都进去过就可以。

偶个人觉得Suet同ElegantBlue的方法可行阿,不过要detail一下。

第一 :第一天进去的人负责计数(这个是可以确定的,因为每天只进去一个人),把第一张桌子的布翻成蓝色,以后只有他能将第一张桌子的布从红色翻成蓝色。

第二:其他的人,进房间的时侯,如果第一张桌子的布是蓝色,就翻成红色;是红色的就不要动。除了计数的人,每个人只能翻第一张桌子上的布一次。

第三:计数的人从第二次进房间开始,每看到第一张桌子的布是红色的就计数一次,然后翻回蓝色,到计数49次的时侯就完成任务。

这是最苯的方法,用最长的时间,但是是最简单而且不会出错的方法。
当然前提是地主随机选人。




[ 编辑 sorange 在 09-07-19 14:59 ]

todou于2009-07-19写道:



leannsc于2009-07-19写道:



Suet于2009-07-19写道:



1.首先选出一个工人做计数工作

2.当任何一位工人进房间时如果看到左边台布是红色就翻成蓝色,如果左边已经是蓝色的了,无论右边什么颜色就翻一面,当自己已经翻过一次左边的台布后就不可以再翻左边只能翻右边的了

3.当计数工人进房间看到左边的台布是蓝色就翻成红色,然后纪录一次(表示一个工人已经报到过了),当翻第50次的时候就可以报告地主已经成功了


如果这样的话,那这名计数工人至少要进房间50次才行,基本不可能,即使可能,那估计也比1年的时间长上很多了




我觉得如果是逻辑题的话应该就考你逻辑推理吧,这个mm给的答案应该就是正确答案了,厉害~


这个答案仔细推敲起来有点悬,如果地主就只是召唤这个计数工人跟其他一个工人的话,计数工人把左边翻成红色,然后这个工人第二天反正蓝色,第三天计数工人又翻成红色,同样一个工人又翻成蓝色,他们两个每天不也是在翻左边的桌布吗?怎能计数工人怎样才能保证进去的不是同一个人呢?

sorange于2009-07-19写道:



[quote]nahco3于2009-07-19写道:



第一 :第一天进去的人负责计数(这个是可以确定的,因为每天只进去一个人),把第一张桌子的布翻成蓝色,以后只有他能将第一张桌子的布从红色翻成蓝色。



第二:其他的人,进房间的时侯,如果第一张桌子的布是蓝色,就翻成红色;是红色的就不要动。除了计数的人,每个人只能翻第一张桌子上的布一次。



第三:计数的人从第二次进房间开始,每看到第一张桌子的布是红色的就计数一次,然后翻回蓝色,到计数49次的时侯就完成任务。



这是最苯的方法,用最长的时间,但是是最简单而且不会出错的方法。

当然前提是地主随机选人。

[ 编辑 sorange 在 09-07-19 14:59 ]



请问,红色部分在员工之间不能沟通的情况下怎么做到?

sixday1004于2009-07-19写道:



[quote]sorange于2009-07-19写道:



nahco3于2009-07-19写道:



第一 :第一天进去的人负责计数(这个是可以确定的,因为每天只进去一个人),把第一张桌子的布翻成蓝色,以后只有他能将第一张桌子的布从红色翻成蓝色。



第二:其他的人,进房间的时侯,如果第一张桌子的布是蓝色,就翻成红色;是红色的就不要动。除了计数的人,每个人只能翻第一张桌子上的布一次。



第三:计数的人从第二次进房间开始,每看到第一张桌子的布是红色的就计数一次,然后翻回蓝色,到计数49次的时侯就完成任务。



这是最苯的方法,用最长的时间,但是是最简单而且不会出错的方法。

当然前提是地主随机选人。

[ 编辑 sorange 在 09-07-19 14:59 ]




请问,红色部分在员工之间不能沟通的情况下怎么做到?


进去之前有一天的时间可以沟通的

只要说好了,一个人第一次进去的人翻第一张桌子,之后同一个人再进入就翻第二张桌子就可以了