请编程解决如下难题:
前提:
1、有五栋五种颜色的房子
2、每一位房子的主人国籍都不同
3、这五个人每人只喝一种饮料,只抽一种牌子的香烟,只养一种宠物
4、没有人有相同的宠物,抽相同牌子的香烟,喝相同的饮料
提示:
1、英国人住在红房子里
2、瑞典人养了一条狗
3、丹麦人喝茶
4、绿房子在白房子左边(不一定挨在一起)
5、绿房子主人喝咖啡
6、抽PALL MALL烟的人养了一只鸟
7、黄房子主人抽DUNHILL烟
8、住在中间那间房子的人喝牛奶
9、挪威人住第一间房子
10、抽混合烟的人住在养猫人的旁边
11、养马人住在抽DUNHILL烟的人旁边
12、抽BLUE MASTER烟的人喝啤酒
13、德国人抽PRINCE烟
14、挪威人住在蓝房子旁边
15、抽混合烟的人的邻居喝矿泉水
问题是:谁养鱼?
我还没有分 不好意思咯!!

解决方案 »

  1.   

    德国人 
    其实过程很简单,只要认真想想就知道了。 首先,我们从问题的开头就可以得到一个二维表的信息: 
    第一间 第二间 第三间 第四间 第五间 
    颜色 
    国籍 
    饮料 
    香烟 
    宠物 然后,只要不断从提示中得到的信息往里面填入,就可以得到答案了。 下面我们看一下推理过程: 从提示8中,我们可以知道:第三间房子的人喝牛奶,我们把牛奶填到(饮料,第三间)这个位置,如下: 第一间 第二间 第三间 第四间 第五间 
    颜色 
    国籍 
    饮料 牛奶 
    香烟 
    宠物 接着我们从提示9中,可以知道:挪威人住第一间房,我们就把挪威人填到(国籍,第一间)这个位置。 
    提示14,挪威人住蓝色房子隔壁,由于挪威人是住在第一间房子的,所以他的隔壁只有一个,就是第二间,所以(颜色,第二间)填进蓝色。 
    现在的表应该是这样的: 第一间 第二间 第三间 第四间 第五间 
    颜色 蓝色 
    国籍 挪威人 
    饮料 牛奶 
    香烟 
    宠物 提示4,绿色房子在白色房子左面,从上面刚得到的表的信息,我们很容易可以看出绿色房子只可能在第三间或第四间。但是信息还不够确定具体的位置,我们可以看一下其它的信息。提示5,绿色房子主人喝咖啡。第这个提示很容易就知道,第四间是绿色的(因为第三间已填牛奶了)。这次我们一共得到了三个信息:绿色(颜色,第四间),咖啡(饮料,第四间),白色(颜色,第五间)。 第一间 第二间 第三间 第四间 第五间 
    颜色 蓝色 绿色 白色 
    国籍 挪威人 
    饮料 牛奶 咖啡 
    香烟 
    宠物 提示1,英国人住红色房子。一目了然,第一间是挪威人的,不可能。第二间,第四间,第五间都不是红色的。所以:红色(颜色,第三间),英国人(国籍,第三间) 提示7,黄色房子主人抽Dunhill 香烟。哈,简单啊,除了第一间,其它的颜色那个地方都填了,黄色(颜色,第一间),Dunhill(香烟,第一间) 提示11,养马的人住抽Dunhill 香烟的人隔壁,Dunhill 香烟(第一间)隔壁只有第二间。马(宠物,第二间) 第一间 第二间 第三间 第四间 第五间 
    颜色 黄色 蓝色 红色 绿色 白色 
    国籍 挪威人 英国人 
    饮料 牛奶 咖啡 
    香烟 Dunhill 
    宠物 马 都七七八八了,很快就知道答案了。接下来就有点难道了,大家要加油啊。 
    提示3,丹麦人喝茶,用排除法,第一间是挪威人,排除掉,第三,第四间,喝的饮料不是荼,排除,就剩下第二和第五间了,提示又不足够确定位置了,别怕,再看看别的提示。 
    提示12,抽Blue Master的人喝啤酒,用上面的排除法,得到的又是第二间或第五间,没办法,只能再看其它的提示了。不过从这两个提示可以知道,这两个提示的内容是水火不容的,因为提示3的饮料是茶,提示12的饮料是啤酒。 提示15,抽Blends香烟的人有一个喝水的邻居,从这个提示我们只能排除第一间和第五间。第一间是Dunhill 的香烟,而第五间的邻居是喝咖啡的。还是没有得到有用的信息,郁闷 
    慢着,等等,不觉得很有意思吗?上面的两个提示和这个提示,有重叠的地方,对,没错,突破口就是这个了。很显然如果提示3和提示12中的任意一个在第五间的话,提示15在第四间的假设就不成立了,但它们任意一个在第五间的话,另一个就得在第二间,如果这样的话,提示15在第三间的假设也就不成立了。因为它们这两间都没有了一个喝水的邻居。那排了除第一间、第五间、第四间、第三间,那就只剩下错不了了,填上去:Blends(香烟,第二间)。但它的邻居只有一个饮料空缺,就是第一间,水(饮料,第一间) 第一间 第二间 第三间 第四间 第五间 
    颜色 黄色 蓝色 红色 绿色 白色 
    国籍 挪威人 英国人 
    饮料 水 牛奶 咖啡 
    香烟 Dunhill Blends 
    宠物 马 好了,现在终于松了一口气,再回头看一下提示12,抽Blue Master的人喝啤酒。就是第五间了,so easy(刚才已推导出第二或第五间,现在,第二间的香烟是Blends,所以可以确定是第五间),Blue Master(香烟,第五间),啤酒(饮料,第五间)。与此相对立的提示3,丹麦人喝茶。自然就是第二间了。丹麦人(国籍,第二间),茶(饮料,第二间)。 第一间 第二间 第三间 第四间 第五间 
    颜色 黄色 蓝色 红色 绿色 白色 
    国籍 挪威人 丹麦人 英国人 
    饮料 水 茶 牛奶 咖啡 啤酒 
    香烟 Dunhill Blends Blue Master 
    宠物 马 接下来的就非常easy了,提示13,德国人抽Prince香烟,排除头三间的非德国人,排除最后一间的Blue Master香烟。德国人(国籍,第四间),Prince(香烟,第四间)。 
    提示2,瑞典人养狗,头四间都被别人占了,养狗的就到第五间吧:瑞典人(国籍,第五间),狗(宠物,第五间)。 
    提示6,抽Pall Mall 香烟的人养鸟,没有香烟的就剩下第三间了,Pall Mall(香烟,第三间),鸟(宠物,第三间)。 第一间 第二间 第三间 第四间 第五间 
    颜色 黄色 蓝色 红色 绿色 白色 
    国籍 挪威人 丹麦人 英国人 德国人 瑞典人 
    饮料 水 茶 牛奶 咖啡 啤酒 
    香烟 Dunhill Blends Pall Mall Prince Blue Master 
    宠物 马 鸟 狗 提示就剩下一个了,提示10,抽Blends香烟的人住在养猫的人隔壁,抽Blends香烟的人在第二间,他的隔壁就是第一和第三,第三养鸟了,那猫就是第一间的了。 只有第四间的宠物没有提示可填了,那他就是最后的答案的,鱼是德国人养的。
      

  2.   

    你们想的都是德国人?我想的德国人应该是不对!应该是挪威人!大家来探讨下
    1号房子:绿色:挪威人:喝咖啡:养鱼:混合烟
    2号房子:蓝色:德国人:喝矿泉:养猫:PRINCE
    3号房子:黄色:瑞典人:喝牛奶:养狗:DUNHILL
    4号房子:红色:英国人:喝啤酒:养马:BULEMASTER
    5号房子:白色:丹麦人:喝茶:养鸟:PALL MALL然后该想想怎么用程序实现了,题目挺好的,希望大家来讨论下!如果觉得我这个对,说说怎么用程序实现!!!顶了