局部变量的作用域

导航

<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

统计

公告

我的邮件:

留言簿(7)

随笔分类

随笔档案

文章档案

我的链接

搜索

最新评论

阅读排行榜

评论排行榜

也发个智力题:转桌问题

    一张正方形的可以旋转的桌子,每个角上有一个坑,坑中各放一只杯子,杯子口可以朝上或朝下,但四只杯子各自的初始状态未知。
    现在蒙住测试者的双眼,旋转桌子,当桌子停止转动后,测试者可以伸手摸任意两只杯子,得知它们的状态,并任意决定是否翻转它们(即每次可以翻转0只、1只或2只杯子),但测试者一旦选定了要触摸的杯子,就不能更改。之后,再次旋转桌子.....,直到所有杯子口全部朝上或全部朝下。
问:测试者最多经过多少次旋转就可以确保游戏结束。
答案(把后面选中就看到了):5次,不过,更重要的是如何操作

posted on 2007-06-08 10:36 局部变量 阅读(1963) 评论(2)  编辑 收藏

评论

# re: 也发个智力题:转桌问题 2009-02-03 17:59 ooo

我的解法最多可能需要6步,看看是否能再优化
1.置一对相邻角为1
2.置一对对角为1
此时状态为三个1一个0
3.检查一对相邻角
 a 有一个0->置其为1 算法结束
 b 都为1->置其中一个为0
    此时状态可能为10
                  10
    或者          10
                  01
4.检查一对对角
 a 相等->将其翻转,算法结束
 b 不相等->5
5.翻转一对相邻角,转4

# re: 也发个智力题:转桌问题 2009-02-03 20:05 ooo

5步:
1.置一对相邻角为1
2.置一对对角为1
 此时状态为三个1一个0
3.检查一对对角
 a 有一个0->置其为1 算法结束
 b 都为1->置其中一个为0
4.检查一对相邻角
 a 相等->将其翻转,算法结束
 b 不相等->将其翻转
5.翻转一对对角

标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]