一个偶然的机会再次接触到了爱因斯坦谜题,一时来了兴致,用C#做了一个程序,看看到底是谁养鱼(大学毕业后接触过这道题,不过很遗憾,那时的我没有成为2%的人,所以不知道是谁在养鱼)?

这道迷题出自1981年柏林的德国逻辑思考学院,据说世界上只有2%的人能出答案,就连大名鼎鼎的爱因斯坦也成为此题大伤脑。爱因斯坦谜题的中文表述是这样的:

1. 有5栋5种颜色的房子

2. 每一位房子的主人国籍都不同

3. 这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物

4. 没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料

已知条件:

1. 英国人住在红房子里

2. 瑞典人养了一条狗

3. 丹麦人喝?

4. 绿房子在白房子的左边

5. 绿房子主人喝咖啡

6. 抽pallmall烟的人养了一只鸟

7. 黄房子主人抽dunhill烟

8. 住在中间房子的人喝牛奶

9. 挪威人住在第一间房子

10.抽混合烟的人住在养猫人的旁边

11.养马人住在抽dunhill烟人的旁边

12.抽bluemaster烟的人喝啤酒

13.德国人抽prince烟

14.挪威人住在蓝房子旁边

15.抽混合烟的人的邻居喝矿泉水

问题:谁养鱼?

很遗憾的是,这个中文表述有问题,至少有以下几方面的歧义:

一、如何区分左右?二、已知条件中的第4条,绿房子在白房子的左边,是紧邻?还是可以分开?三、第一个房子,从什么方向开始算起,左,还是右?

如果仅把上面的第二点提到的绿房子在白房子的左边,不限于紧邻,则会出现7组符合条件的组合,3个答案:丹麦人养鱼(3组)、德国人养鱼(3组)、挪威人养鱼(1组)。

这显然不符合爱因斯坦谜题的本意,所以又查了查英文原题,结果真相大白,其严谨的表述有效的消除了以上的歧义。那最终的结果究竟又如何呢?

英文原题:

The Einstein Puzzle

There are 5 houses in five different colors. They are lined up in a row side by side.

In each house lives a person with a different nationality.

These 5 owners drink a certain drink, smoke a certain brand of tobacco and keep a certain pet.

No owners have the same pet, smoke the same tobacco, or drink the same drink.

As you look at the 5 houses from across the street, the green house is adjacent(woog注释:adjacent adj,毗连的,邻近的,接近的;n,近邻) to the left of the white house

The Big Question is:

Who owns the Fish?

CLUES:

1、The Brit lives in the red house

2、The Swede keeps dogs as pets

3、The Dane drinks tea

4、The green house is on the immediate left of the white house as you stare at the front of the 5 houses

5、The green house owner drinks coffee

6、The person who smokes Pall Mall raises birds

7、The owner of the yellow house smokes Dunhill

8、The man living in the house right in the center drinks milk

9、The Norwegian lives in the first house

10、The man who smokes Blends lives next to the one who keeps cats

11、The man who keeps horses lives next to the one who smokes Dunhill

12、The owner who smokes Bluemaster drinks juice

13、The German smokes Prince

14、The Norwegian lives next to the blue house

15、The man who smokes Blend has a neighbor who drinks water.

相关代码如下(考虑了两种情况,当#define FastCompute时,仅有一组答案):

转载于:https://blog.51cto.com/yfsoft/323416

爱因斯坦谜题:谁养鱼(C#版)相关推荐

  1. 爱因斯坦谜题 谁养鱼 C 版

    一个偶然的机会再次接触到了爱因斯坦谜题,一时来了兴致,用C#做了一个程序,看看到底是谁养鱼(大学毕业后接触过这道题,不过很遗憾,那时的我没有成为2%的人,所以不知道是谁在养鱼)? 这道迷题出自1981 ...

  2. 爱因斯坦谜题:谁养鱼(C#版) 1

    一个偶然的机会再次接触到了爱因斯坦谜题,一时来了兴致,用C#做了一个程序,看看到底是谁养鱼(大学毕业后接触过这道题,不过很遗憾,那时的我没有成为2%的人,所以不知道是谁在养鱼)? 这道迷题出自1981 ...

  3. C语言--爱因斯坦谜题

    尊重原创:http://blog.csdn.net/aspirationflow/article/details/7748364 C语言编程快速解决爱因斯坦谜题 2012年7月15日 1      问 ...

  4. C语言编程快速解决爱因斯坦谜题

    C语言编程快速解决爱因斯坦谜题 2012年7月15日 1      问题简介 爱因斯坦谜题(Einstein'sriddle)是很多人熟悉的问题.记得读高中时候就有同学就拿这个题目来考人,不过那时的解 ...

  5. 爱因斯坦谜题解答(三种算法比较)

    爱因斯坦谜题:     在一条街上有颜色互不相同的五栋房子,不同国籍的人分别住在这五栋房子力,每人抽不同品牌的香烟,喝不同的饮料,养不同的宠物.已知如下情况: 1.  英国人住红色房子里. 2.  瑞 ...

  6. 爱因斯坦谜题的真正答案

    爱因斯坦谜题的真正答案 前几天看博客的时候,发现有人发了一个解决爱因斯坦的谜题的文章. http://www.cnblogs.com/yefanqiu/archive/2009/09/27/15753 ...

  7. 【爱因斯坦谜题】用python基础语法解决爱因斯坦谜题

    今天分享一个困难的谜题 据传是爱因斯坦还年轻时所想出来的 本人自学python已经有一段时间,偶然间了解到了爱因斯坦谜题,就想用已经学过的知识来解决这个谜题,下面我就将我的方法分享给大家. 题目: 有 ...

  8. 爱因斯坦谜题:谁养鱼(C#版)续

    + expand sourceview plaincopy to clipboardprint? //[叶帆工作室] http://yfsoft.blog.51cto.com #define Fast ...

  9. 重构-打造爱因斯坦谜题最快算法

    上一篇里,阐述了解这道题的思路,并在代码上实现.不过代码还有很多可改进之处.性能方面,虽然比穷举法快得多,此外搜索算法还是比较盲目,效率应该能更上一层楼. 首先是在算法实现最后一步的搜索树递归方法中, ...

  10. 大家放松下吧,咱家先在首页呆会儿!

                                                             大家放松下吧 无独有偶,居然在两家公司面试都给我出了那道鼎鼎有名的"爱因斯坦 ...

最新文章

  1. 最大流 ---- 最小路径覆盖 ---- P2765魔术球问题(网络流24题)
  2. node + express + mysql 搭建后台
  3. github绑定自己的域名
  4. 数控车椭圆编程实例带图_数控车床任意位置椭圆宏程序编程,内附实例程序!...
  5. hdu3518 后缀数组
  6. 今天成功的将一个对1,000,000条记录的查询从30'提升到1'以下,庆祝一下
  7. jQuery——入门(四)JQuery 事件
  8. 【华为云技术分享】数据湖数据库,别再傻傻分不清了
  9. MyEclipse中将项目的编码从默认GBK改变为默认UTF-8
  10. 卧槽,又来一个 Java 大神器!!
  11. MySQL查询GROUP BY日/月/年
  12. excel文件被写保护怎么解除_u盘被写保护怎么解除_u盘怎么解除写保护状态
  13. 计算机网络(2.10)物理层- 宽带接入技术-ADSL 技术
  14. 修改windows软件图标
  15. Opencv 笔记7 凸包算法-Graham扫描法
  16. Python音乐跳舞毯(基于海龟画图创作的作品,来自Python创意编程100例sprites篇_Python精灵模块)
  17. App进程被回收问题总结
  18. Vigenere密码加密解密原理
  19. 多WAN路由器配置 实现简述
  20. 教你做Ghost系统盘--Windows2000、XP、2003系统万能Ghost全攻略New!!!!!!

热门文章

  1. vscode怎样打开终端 使用命令行
  2. 调试裕泰微yt8521s的phy芯片流程记录
  3. python多版本共存失败记录
  4. vue.js 学习笔记3——TypeScript
  5. vmware虚拟机挂载Windows磁盘的两种方法
  6. svn up 更新与回退
  7. sql or 与and同时有时要注意
  8. 华为非对等通信小实验
  9. KVM详解(五)——KVM虚拟机镜像格式
  10. 《大话数据结构》读后总结(八)