爱因斯坦出的一道逻辑推理题,谁知道答案?

来源:百度知道 编辑:UC知道 时间:2024/05/13 06:01:25
1、有5栋5种颜色的房子。
2、每一位房子主人的国籍都不同。
3、5 个人每人只喝一种饮料、只抽一个牌子的香烟、只养一种宠物。
4、没有人有相同的宠物、抽相同的香烟、喝相同的饮料。
提示:1、英国人住红房子。
2、瑞典人养狗。
3、丹麦人喝茶。
4、绿房子在白房子的左边。
5、绿房子的主人喝咖啡。
6、抽PALL MALL烟的人养鸟。
7、黄房子的主人抽DUNHILL烟。
8、住中间房子的人喝牛奶。
9、挪威人住第一间房子。
10、抽混合烟的人住养猫人旁边。
11、养马人住抽DNUHILL烟的人旁边。
12、抽BLUE MASTER烟的人住养马人旁边。
13、德国人抽DRINCE烟。
14、挪威人住蓝房子旁边。
15、抽混合烟的人的邻居喝矿泉水。
问题是: 谁养鱼?

这问题的答案其实随处可见..!我复制来滴:
首先,根据提示直接条件推出一些
然后,可以将一些没用的条件去掉,使条理清楚,由14可得,一号是黄房,接着由7得,香烟是Dunhill,再由11得,2宠物是马.....
然后到推不出来时,可假设房子颜色,否定一种可能后,确定大部分,推理结束
1 2 3 4 5
黄 蓝 红 绿 白
Dunhill Blends Pall Prince Blue
猫 马 鸟 鱼 狗
水 茶 牛奶 咖啡 啤酒
挪威 丹麦 英 德 瑞典
天上掉下麦芽糖

不能一会儿用口算出来,直接在网上搜得了下面资料
1 2 3 4 5
挪威 丹麦 英国 德国 瑞典
黄色 蓝色 红色 绿色 白色
Dunhill Blend pall mall prinee bine msier
开水 茶 牛奶 咖啡 啤酒
猫 马 鸟 鱼 狗

#include <iostream.h>

char* people[5] = {NULL};
char* color[5] = {NULL};
char* smoke[5] = {NULL};
char* drink[5] = {NULL};
char* pet[5] = {NULL};

/*
char* people[] = {"挪威","丹麦","英国","德国","瑞典"};
char* color[] = {"黄色","蓝色","红色","绿色","白色"};
char* smoke[] = {"Dunhill","Blend","Pall Mall","Prinee","Bine