surfingafish 2008-10-17 23:25
有一个人一直负责把关闭的灯打开,其他人看到灯是开着的状态就拿一次灯泡并且把灯关上,看到灯是关闭状态就那灯泡,这个负责开灯的人开过99次灯后就可以认定所有的人都拿到了灯泡,他再拿下灯泡就可以宣布所有的人都来过这个庭院了。
这题对于程序员来说是很简单的逻辑题。
思路简单的说就是这个庭院就像一个参数传递的介质,负责计数的人就像一个计数器;而这里唯一能传递的参数就是灯的状态。灯有两种状态,开和关。我们把开当成+0,关当作+1。
计数器看到关状态就计数+1,然后做递归,直到计数器到99结束。
[[i] 本帖最后由 surfingafish 于 2008-10-17 23:36 编辑 [/i]]
surfingafish 2008-10-17 23:43
[quote]原帖由 [i]ddee0[/i] 于 2008-9-19 21:58 发表 [url=http://64.32.16.2/forum/redirect.php?goto=findpost&pid=20695987&ptid=1380581][img]http://64.32.16.2/forum/images/common/back.gif[/img][/url]
百度出来一个比较BT 但是最快的答案
大家约好,出去放风就自杀,这样每天就会死一个人,而且永不重复。当一个人第二次出去的时候,他就知道所有的人都死了,只剩下他一个了,然后他就可以向国王报告了,而且只要1 ... [/quote]
你认为会有人出去两次么?第一次出去已经自杀了。
而且出去的顺序是随机的,你今天出去了,明天出去的可能还是你!
逻辑阿逻辑!完全没有逻辑。
[[i] 本帖最后由 surfingafish 于 2008-10-17 23:49 编辑 [/i]]
蓝屏 2008-10-17 23:53
每出去一个,就使电路短路,牢房里的灯就会熄灭一次,第二次就不要动,这样灭了100次,就是全部放风了。
caishu2000 2008-10-18 01:44
感觉就是没有答案的问题,如果一个牢房永远随机开下去,不说多,开个20年,那其他人只有等死的份了,那还有心思活命?:sleep
stanley1942 2008-10-18 03:53
有些理解不了啊!!到底哪个是正确答案啊!!
wunaidelei 2008-10-18 21:28
回复 1楼 的帖子
好想请教爱因斯坦啊。。。。有他的智商就什么都不怕了
zhangyongbo 2008-10-18 21:29
不知道这个题有没有一个正确的答案那位高人出个主意
aide 2008-10-20 20:14
100个人每人都带一瓶香水~
第一次出去的人就把香水打开~
让大家都闻到~(应该能闻到吧,不然人都憋死了不是.然后他的香水瓶就可以扔了)
哪天有个闻到过99次香水味的MAN出来了,他就可以去告诉国王了~~
aide 2008-10-20 21:30
如果每人都有部手机,,联系联系也是不错的~~
blackfish2001 2008-10-20 21:33
如果是这个状态,不憋死也被闷死了,建议大家全部暴动起来干掉国王,然后回家种田。
这个是纯粹折磨人的游戏。
nyumen 2008-10-23 19:52
个人感觉34搂是正解,每个人只敲门一次并拿走灯泡,听到99次敲门而且自己手里没有灯泡,就说明100个人都放过风了。
楼主出来鉴定下吧
qcjjp 2008-10-24 23:33
其实我很笨,知道自己肯定做不出答案的,但是又很好奇,想知道有哪个聪明人做出来了,
嘿嘿,所以来看看,顺便给楼主支持,做不出难题,就做回动力好了!:loveliness:
lupa 2008-10-28 16:10
楼主的题目有点问题,不是每天开一个门,而是总有一个门是开的,也就是只要上一个放风的进去了关上门,下一个门就打开了,这样问题就简单多了,9楼的就为正解,要是一天只开一个门的话,这个游戏需要的时间就太长了,可能超过人的寿命了,也就没有实际意义了
alanggege 2008-10-28 19:54
要知道是完全随机打开囚门的,或许他们一辈子也不会全部都会有机会出来一次。
就算商量好了办法,概率也是微乎其微。
凌空破月 2008-11-2 19:37
我觉得34楼说的比较有道理,而却可行,每个人手里都有一个灯泡和知道有多少个人出去过
baibai8 2008-11-2 22:31
9楼的说对了!!我每个出去的人看灯亮的就关掉!!那个负责人开99次后就知道全部人出来过了!!当然别的人如果出来第2次看到灯的开关就无视!!
ljs0000 2008-11-2 23:14
从全部犯人中选出1个人只关灯,并且记住自己做了几次,其他的99个人只开灯,要求记住自己是否动过那灯。如果其他的人(不是选出来哪个)是第1次出来,并且灯是关着的,就打开他,并且他今后即使再出来了也不再动灯;如果出来的是选出的那人,并且灯是开着的,他就关掉他,并把计数+1,当他等于99的时候就证明所有人都出来过了。题目并没限制出狱的时间,所以我觉得几十年那也是没办法的,用程序语言描述就是: 1个线程和其他99个线程是同步关系,99个线程相互之间是互斥。灯是临界资源。
qingchun 2008-11-3 01:05
简单得要死
每一个放风的人都改变灯的开关状态
只要状态就改变了100次,也就是说开了50次,关了50次
那么就说明每个人都到院子里去了一趟
maidou1977 2008-11-14 11:15
要 跳跃性思维
*** 作者被禁止或删除 内容自动屏蔽 ***
maidou1977 2008-11-14 11:22
回复 1楼 的帖子
*** 作者被禁止或删除 内容自动屏蔽 ***