博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第3-4课:爱因斯坦的思考题(上)
阅读量:3572 次
发布时间:2019-05-20

本文共 569 字,大约阅读时间需要 1 分钟。

不同问题的穷举法算法实现最大的差异点就是搜索算法的不同,前几课介绍了线性空间的搜索、树状空间的搜索,这一课我们再介绍一种求解问题的搜索算法,其搜索的空间是一个二维表,对二维表中的每个元素进行枚举遍历,依次确定每个表格元素的值,当二维表中所有表格元素的值都确定后,检查其结果是否符合问题的解的要求,如果满足要求,则输出一个结果,如果不满足要求,则按照一定的顺序继续遍历各个表格元素的值。这也是一种典型的解空间搜索方式,通过对这个问题的理解,未来遇到类似的问题,或三位表空间的问题,都可以用类似的方法设计搜索算法。

问题介绍

这是一个很有趣的逻辑推理题,传说是爱因斯坦提出来的,他宣称世界上只有 2% 的人能解出这个题目,传说不一定属实,但是这个推理题还是很有意思的。题目是这样的,据说有五个不同颜色的房间排成一排,每个房间里分别住着一个不同国籍的人,每个人都喝一种特定品牌的饮料,抽一种特定品牌的烟,养一种宠物,没有任意两个人抽相同品牌的香烟,或喝相同品牌的饮料,或养相同的宠物,问题是谁在养鱼作为宠物?为了寻找答案,爱因斯坦给出了 15 条线索:

  • (1)英国人住在红色的房子里
  • (2)瑞典人养狗作为宠物
  • (3)丹麦人喝茶
  • (4)绿房子紧挨着白房子,在白房子的左边
  • (5)绿房子的主人喝咖啡
  • (6)抽 Pall Mall 牌香烟的人养鸟
  • ÿ

转载地址:http://kccgj.baihongyu.com/

你可能感兴趣的文章
计算机运算方法之(原码 补码 反码 移码)
查看>>
计算机组成原理之(二进制与十进制互相转换,数的定点表示与浮点数表示)例题:设浮点数字长16位,其中阶码5位(含有1位阶符),尾数11位(含有1位数符)
查看>>
选择排序(java代码实现)
查看>>
插入排序
查看>>
哈夫曼树java代码实现
查看>>
快速排序
查看>>
vue路由高亮的两种方式
查看>>
vue router 报错: Uncaught (in promise) NavigationDuplicated {_name:""NavigationDuplicated"... 的解决方法
查看>>
vue跳转页面的两种方式
查看>>
存储器题目解析(持续更新中....)
查看>>
存储器知识要点
查看>>
Cache模拟器的实现
查看>>
设计模式七大原则
查看>>
SpringBoot入门(二)场景启动器
查看>>
SpringBoot入门--自动配置
查看>>
自动配置原理
查看>>
TCP协议
查看>>
关于Linux系统使用遇到的问题-1:vi 打开只读(readonly)文件如何退出保存?
查看>>
spring注解版(一)
查看>>
SpringBoot中访问控制层(controller)得不到Json数据
查看>>