谁养鱼(一):人工解法

题目:据说有五个不同颜色的房间排成一排,每个房间里分别住着一个不同国籍的人,每个人都喝 一种特定品牌的饮料,抽一种特定品牌的烟,养一种宠物,没有任意两个人抽相同品牌的香烟,或喝相同品牌的饮料,或养相同的宠物,问题是谁在养鱼作为宠物? 为了寻找答案,给出了十五条线索:
  1. 英国人住在红色的房子里;
  2. 瑞典人养狗作为宠物;
  3. 丹麦人喝茶;
  4. 绿房子紧挨着白房子,在白房子的左边;
  5. 绿房子的主人喝咖啡;
  6. 抽Pall Mall牌香烟的人养鸟;
  7. 黄色房子里的人抽Dunhill牌香烟;
  8. 住在中间那个房子里的人喝牛奶;
  9. 挪威人住在第一个房子里面;
  10. 抽Blends牌香烟的人和养猫的人相邻;
  11. 养马的人和抽Dunhill牌香烟的人相邻;
  12. 抽BlueMaster牌香烟的人喝啤酒;
  13. 德国人抽Prince牌香烟;
  14. 挪威人和住在蓝房子的人相邻;
  15. 抽Blends牌香烟的人和喝矿泉水的人相邻。

根据8、9和14,第一眼能推出来:

房子颜色

 

 

 

 

国籍

挪威

 

 

 

 

饮料

 

 

牛奶

 

 

宠物

 

 

 

 

 

香烟

 

 

 

 

 

1、4可以推出挪威人不是红、绿、白,所以挪威是黄,以及7和11得出:

房子颜色

 

 

 

国籍

挪威

 

 

 

 

饮料

 

 

牛奶

 

 

宠物

 

 

 

 

香烟

Dunhill

 

 

 

 

因为4和5知道剩下三个颜色的顺序只能是红绿白,以及1:

房子颜色

绿

国籍

挪威

 

英国

 

 

饮料

 

 

牛奶

咖啡

 

宠物

 

 

 

 

香烟

Dunhill

 

 

 

 

因为3和12,可以知道挪威人只能喝水,以及15得到:

房子颜色

绿

国籍

挪威

 

英国

 

 

饮料

 

牛奶

咖啡

 

宠物

 

 

 

 

香烟

Dunhill

Blends

 

 

 

因为3和12就可以知道丹麦人只能住蓝房子,至此蓝房子和饮料已经全部已知:

房子颜色

绿

国籍

挪威

丹麦

英国

 

 

饮料

牛奶

咖啡

啤酒

宠物

 

 

 

 

香烟

Dunhill

Blends

 

 

BlueMaster

因为13知道所有香烟和德国人的房子,再配合6和10知道鸟和猫的情况,事实上已经快完整了:

房子颜色

绿

国籍

挪威

丹麦

英国

德国

瑞典

饮料

牛奶

咖啡

啤酒

宠物

 

 

香烟

Dunhill

Blends

Pall Mall

Prince

BlueMaster

最后根据2得到全部信息:

房子颜色

绿

国籍

挪威

丹麦

英国

德国

瑞典

饮料

牛奶

咖啡

啤酒

宠物

香烟

Dunhill

Blends

Pall Mall

Prince

BlueMaster

 

如何用计算机解决这个问题呢?难点1是如何让计算机认识这些条件,难点2是得到解的算法。解完这道题后,觉得用遗传算法似乎不错,但是没细想,下次再说吧。

相关问题的博客:点击打开链接

转载于:https://www.cnblogs.com/opennaive/archive/2011/11/21/3312757.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值