题目描述
据说有五个不同颜色的房间排成一排,每个房间里分别住着一个不同国籍的人,每个人都喝一种特定品牌的饮料,抽一种特定品牌的烟,养一种宠物,没有任意两个人抽相同品牌的香烟,或喝相同品牌的饮料,或养相同的宠物。
问题是谁在养鱼作为宠物?为了寻找答案,爱因斯坦给出了以下 15 条线索。
1.英国人住在红色的房子里;
2.瑞典人养狗作为宠物;
3.丹麦人喝茶;
4.绿房子紧挨着白房子,在白房子的左边;
5.绿房子的主人喝咖啡;
6.抽 Pall Mall 牌香烟的人养鸟;
7.黄色房子里的人抽 Dunhill 牌香烟;
8.住在中间那个房子里的人喝牛奶;
9.挪威人住在第一个房子里面;
10.抽 Blends 牌香烟的人和养猫的人相邻;
11.养马的人和抽 Dunhill 牌香烟的人相邻;
12.抽 BlueMaster 牌香烟的人喝啤酒;
13.德国人抽 Prince 牌香烟;
14.挪威人和住在蓝房子的人相邻;
15.抽 Blends 牌香烟的人和喝矿泉水的人相邻。
基本模型的定义
将每种类型的位置固定,直接利用数据下标进行访问
线索模型的定义
第一类:描述某些属性之间具有固定绑定关系的线索。1 2 3 5 6 7 12 13
第二类:描述某些属性类型所在的组所具有的相邻关系的线索。10 11 14 15
第三类:不能描述属性之间固定关系或关系比较弱的线索。
穷举所有结果
将第三类线索融入进去,进行枚举