轻松一刻

iamnobody 2011-09-01 07:42:58
laoden说不要在这里讨论跟C++无关的问题。
那就先讨论一下C++:
我顶泛型编程!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

C++讨论完毕。

下面是100分的题目,我只能给这么多分。本来想散300分的,反正没什么用。

20人排成一列,每人戴上一顶或红或蓝的帽子,每个人都只能看到自己前面的人。然后从后往前,猜自己帽子的颜色,对的放走,错的枪毙。

请为这20人设计一个策略,让尽量多的人必定存活。
例如,可以让后一个人报前一个人的颜色,然后就有一半人必定存活。

我只是来散分的。。。。。。。
...全文
142 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenyan008 2011-09-01
  • 打赏
  • 举报
回复
顺便接分。。。
shenyan008 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zjj942339096 的回复:]

前面19个人的帽子颜色,要么红色是单数,要么蓝是单数
如果红色是单数,那么蓝色就是双数,如果红色是双数,那么蓝色就是单数
所以,最后一个人看到前19个人帽子的颜色,如果红色是单数,就说自己是红色,如果蓝色是单数就说自己是蓝色,这样最后一个就有50%的机会存活,而第19个人,就能从最后一个人说的颜色判断自己帽子的颜色,同样的第18个人就能根据第19个人和最后一个的回答知道自己帽子的颜色
同理……
[/Quote]
学习了。
luciferisnotsatan 2011-09-01
  • 打赏
  • 举报
回复
我只是来接分的

这题真反人类呀
weixiaoshashou 2011-09-01
  • 打赏
  • 举报
回复
戴绿帽子的人是这个游戏的策划。。。。。。
iamnobody 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zjj942339096 的回复:]
前面19个人的帽子颜色,要么红色是单数,要么蓝是单数
如果红色是单数,那么蓝色就是双数,如果红色是双数,那么蓝色就是单数
所以,最后一个人看到前19个人帽子的颜色,如果红色是单数,就说自己是红色,如果蓝色是单数就说自己是蓝色,这样最后一个就有50%的机会存活,而第19个人,就能从最后一个人说的颜色判断自己帽子的颜色,同样的第18个人就能根据第19个人和最后一个的回答知道自己帽子的颜色
同理,……
[/Quote]

如果是21人呢
luuillu 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zjj942339096 的回复:]
前面19个人的帽子颜色,要么红色是单数,要么蓝是单数
如果红色是单数,那么蓝色就是双数,如果红色是双数,那么蓝色就是单数
所以,最后一个人看到前19个人帽子的颜色,如果红色是单数,就说自己是红色,如果蓝色是单数就说自己是蓝色,这样最后一个就有50%的机会存活,而第19个人,就能从最后一个人说的颜色判断自己帽子的颜色,同样的第18个人就能根据第19个人和最后一个的回答知道自己帽子的颜色
同理,……
[/Quote]
++
turing-complete 2011-09-01
  • 打赏
  • 举报
回复
那就接分吧
xunxun 2011-09-01
  • 打赏
  • 举报
回复
最后一个报的咋办……
iamnobody 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jackyjkchen 的回复:]
不戴绿帽子进行
[/Quote]

帽子当然不是自己戴的。。。
zjj942339096 2011-09-01
  • 打赏
  • 举报
回复
前面19个人的帽子颜色,要么红色是单数,要么蓝是单数
如果红色是单数,那么蓝色就是双数,如果红色是双数,那么蓝色就是单数
所以,最后一个人看到前19个人帽子的颜色,如果红色是单数,就说自己是红色,如果蓝色是单数就说自己是蓝色,这样最后一个就有50%的机会存活,而第19个人,就能从最后一个人说的颜色判断自己帽子的颜色,同样的第18个人就能根据第19个人和最后一个的回答知道自己帽子的颜色
同理,前面19个人都会知道自己帽子的颜色
也就是说,至少存活19个人
zjxylc 2011-09-01
  • 打赏
  • 举报
回复
大家慢慢接分,讨论C++
iamnobody 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jixingzhong 的回复:]
让后一个人报前一个人的颜色,然后就有一半人必定存活。

额...........
为啥只有一半存活?
难道另外一半的人是瞎子?
[/Quote]
最后一个报了倒数第二个的,但是,倒数第二个只能报自己的。他之前一个人就又要杯具了。
低头路过 2011-09-01
  • 打赏
  • 举报
回复
JF~
jackyjkchen 2011-09-01
  • 打赏
  • 举报
回复
不戴绿帽子进行
  • 打赏
  • 举报
回复
哈哈,接哦
jixingzhong 2011-09-01
  • 打赏
  • 举报
回复
让后一个人报前一个人的颜色,然后就有一半人必定存活。

额...........
为啥只有一半存活?
难道另外一半的人是瞎子?

至善者善之敌 2011-09-01
  • 打赏
  • 举报
回复
JF....幸好不是绿帽子
尘缘udbwcso 2011-09-01
  • 打赏
  • 举报
回复
我先接分,这个题目再慢点想

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧