回 帖 发 新 帖 刷新版面

主题:[原创]编程解爱因斯坦难题正式版

/*************************************************************
简介:
传说下面是爱因斯坦在20世纪初出的一道测试题。他说世界上有99%的人回答不出这道题,
看看你是否属于另外的1%?题目如下:
前提: 
1 有五栋五种颜色的房子 
2 每一位房子的主人国籍都不同 
3 这五个人每人只喝一种饮料,只抽一种牌子的香烟,只养一种宠物 
4 没有人有相同的宠物,抽相同牌子的香烟,喝相同的饮料 
条件: 
1 英国人住在红房子里 
2 瑞典人养了一条狗 
3 丹麦人喝茶 
4 绿房子在白房子左边 
5 绿房子主人喝咖啡 
6 抽PALL MALL烟的人养了一只鸟 
7 黄房子主人抽DUNHILL烟 
8 住在中间那间房子的人喝牛奶 
9 挪威人住第一间房子 
10 抽BLENDS烟的人住在养猫人的旁边 
11 养马人住在DUNHILL烟的人旁边 
12 抽BLUE MASTER烟的人喝啤酒 
13 德国人抽PRINCE烟 
14 挪威人住在蓝房子旁边 
15 抽BLENDS烟的人的邻居喝矿泉水 
问题:谁养鱼? 
**************************************************************/
/*=============================================================
文件描述:    解养鱼问题
创建人:        陈泽丹        ,2006-4-20,  QQ:82314038
文件号:        2
修改次数:      
=============================================================*/
/*------------------------------------------------------------
算法描述:
(图是任意选定的)
--------------------------------
下标(国籍):0    1    2    3    4
对应(国籍):英    瑞    挪    德    丹
--------------------------------
数组值:    0    1    2    3    4
对应(房号)    0    1    2    3    4
对应(房色)    红    白    黄    蓝    绿
对应(宠物)    狗    马    鸟    猫    鱼
对应(饮料)    咖    茶    奶    水    酒
对应(香烟)    pal    dun    blu    pri    ble
---------------------------------
依照上表,以人为线索(下标),排列人的属性的各种组合,符合题目条
件者,最后输出结果。
--------------------------------------------------------------*/

回复列表 (共31个回复)

11 楼

...  ^-^。  说出来丢人,呵呵
那时光学了几个循环语句,就碰上这"挨千刀"的...(不说"挨千刀"的,无法充份痛快的表达我心里对她又爱又恨的心情啊!呵呵)

整整追求了她半个多月,但她还是拒绝了我,555.(那时甚至抚镜自怜,是不是因为俺长得太帅,所于运行不出结果,哈哈)
其实主要是循环问题! 那时循环层和数组用得太多了,程序变得很臃仲.以至我现在都有了后遗症,看见一个程序太长,不是用递归手法写的,又有太多if语句的,心里就发毛...

也是机缘巧合,半个月后在解老师布置的一个作业,我偶然接触到了回溯算法.接着灵机一触,改用回溯算法再次向她表明我坚贞不屈,圣洁无比的心志,和惊天地,泣鬼神的非把她娶回家的艰苦奋斗精神.在不打她,不骂她,就用感情折磨她的持久战下,把她的心肥的拖瘦,瘦的拖死.最后,她终于崩溃了,跟了我...

[em1]

12 楼

我用程序作了一下,做到第14个条件,就只有一种答案了。所以说第15个条件是多余的。

13 楼

哈,不错不错.
这点我在作程序的时侯也测试过.确实如此. 
但题目是这样,那时也就没去说明了. 
:)

14 楼

答案应该是:
  黄     蓝     红       绿        白
 挪威人   丹麦人   英国人     德国人     瑞典人
 矿泉水    茶    牛奶      咖啡      啤酒
 DUNHILL   BLENDS     PALL MALL       PRINCE         BLUE MASTER
  猫           马         鸟              鱼              狗



所以  德国人养鱼

15 楼

if007的个人演唱会啊,捧个场,收藏一下!

16 楼

我说搂主呀 
到底是不是正确的代码呀

17 楼

我们是在学计算机,不是靠自己用逻辑想,计算机毕竟不是人。我学的是人工智能,但是很多问题简直不是人做的。

18 楼

to 14楼  你的推理是正确的.

to 15楼  哈,正想恭访一下你的贴呢.乍一查才知,原来你是数据结构与算法的版主啊.哈,失敬失敬.看来不用恭访了,偶的第一张精华贴就是在你的那一版上发的啊,就是那贴<<求任意数的阶乘>>,承蒙抬举,把我的那贴设为精华贴. 
十分让偶受鼓舞. 在此深表感谢!(事实上这里也是偶第一次上论坛,哈) 
偶要是有什么有趣的或关于数据结构的题,就别人跳槽偶跳版,去你那版混口饭吃...哈.

to 16楼 正确的.
to 17楼 赞成

19 楼


[em12]
对应(国籍): 挪    丹   英    德    瑞
---------------------------------------
对应(房色)   黄    蓝   红    绿    白 
对应(宠物)   猫    马   鸟    鱼    狗 
对应(饮料)   水    茶   奶    咖    酒
对应(香烟)  dun   blu   pal   pri    ble

其实不需要编程的,只要拿一张纸划一下就出来了嘛!干嘛那么罗嗦啊?

20 楼

对应(国籍): 挪    丹   英    德    瑞
---------------------------------------
对应(房色)   黄    蓝   红    绿    白 
对应(宠物)   猫    马   鸟    鱼    狗 
对应(饮料)   水    茶   奶    咖    酒
对应(香烟)  dun   blu   pal   pri    ble

其实不需要编程的,只要拿一张纸划一下就出来了嘛!干嘛那么罗嗦啊?

我来回复

您尚未登录,请登录后再回复。点此登录或注册