打印〗〖选项
爱因斯坦的思考题
  题目
  有五个具有五种不同颜色的房间;每个房间里分别住着一个不同国籍的人;每个人都在喝一种特定品牌的饮料,抽一特定品牌的香烟,养一特定的宠物;没有任意两个人在抽相同品牌的香烟,或喝相同品牌的饮料,或养相同的宠物。
  爱因斯坦给出了如下线索
  1.英国人住在红色的房子里;
  2.瑞典人养狗作为宠物;
  3.丹麦人喝茶;
  4.绿房子紧挨着白房子,在白房子的左边;
  5.绿房子的主人喝咖啡;
  6.抽 Pall Mall 牌香烟的人养鸟;
  7.黄色房子里的人抽 Dunhill 牌香烟;
  8.住在中间那个房子里的人喝牛奶;
  9.挪威人住在第一个房子里(最左边);
  10.抽 Blends 香烟的人和养猫的人相邻;
  11.养马的人和抽 Dunhill 牌香烟的人相邻;
  12.抽 BlueMaster 牌香烟的人喝啤酒;
  13.德国人抽 Prince 牌香烟;
  14.挪威人和住蓝房子的人相邻;
  15.抽Blends 香烟的人和喝矿泉水的人相邻;
  爱因斯坦的问题是:谁在养鱼作为宠物?
  不知道此题目是否真的与爱因斯坦有联系,但这确实是一个相当有趣味也有一定难度的逻辑推理题目,据说爱因斯坦声称世上只有百分之二的人能解答出这个题目。
  在http://www.codeproject.com/useritems/Einstein.asp 网页上登出了美国一个作者的编程思路和源代码,在VC 6.0或VC.Net 2003下可以直接编译,其面向对象的编程风格和高效率的算法给笔者留下了深刻印象,在迅驰1.4笔记本电脑上编译运行,其解算的时间仅为0.0026秒!
  编后
  这个问题的解答完全可以作为学习C++编程的范例。国内VC高手云集,小编也相信会有更高效的程序出现将它战胜。也希望大家能从比较高手们的不同编程思想中来学习,提高自己的水平。



文章作者:未知