zoukankan      html  css  js  c++  java
  • 原创 爱因斯坦迷题及推导过程

    今天下午没事,看2007年第6期程员序,正好看到爱因斯坦迷题这块,闲着没事,推导一下,下面是推导过程:

    在一条街上,有5座房子,喷了5种颜色,每个房里住着不同国籍的人,每个人喝不同的饮料,抽不同品牌的香烟,养不同的宠物

      问题是:谁养鱼?

      提示:

      1、英国人住红色房子

      2、瑞典人养狗

      3、丹麦人喝茶

      4、绿色房子在白色房子左面

      5、绿色房子主人喝咖啡

      6、抽Pall Mall 香烟的人养鸟

      7、黄色房子主人抽Dunhill 香烟

      8、挪威人住第一间房

      9、住在中间房子的人喝牛奶

      10、抽Blends香烟的人住在养猫的人隔壁

      11、养马的人住抽Dunhill 香烟的人隔壁

      12、抽Blue Master的人喝啤酒

      13、德国人抽Prince香烟

      14、挪威人住蓝色房子隔壁

             15、抽Blends香烟的人有一个喝水的邻居

     

    1:根据 8,9,14 条 得出下表
    房子 1 2 3 4 5
    颜色   蓝色      
    国籍 挪威人        
    宠物          
    饮品     牛奶    
    香烟          

    2:根据 4 条,只能在3号房,4号房位置上,又根据 5 ,9 条  4号房就是绿色, 5号房就是白色,4号房喝咖啡
    房子 1 2 3 4 5
    颜色   蓝色   绿色 白色
    国籍 挪威人        
    宠物          
    饮品     牛奶 咖啡  
    香烟          

    3: 根据 1, 8 条 得出 1 是黄色,3是红色,又根据 7 条,11 条,1号房抽 Dunhill,2号房养马,3号房是英国人
    房子 1 2 3 4 5
    颜色 黄色 蓝色 红色 绿色 白色
    国籍 挪威人   英国人    
    宠物        
    饮品     牛奶 咖啡  
    香烟 Dunhill        

    4:根据 3,12条,1号房只能喝水,2号房抽Belnds香烟
    房子 1 2 3 4 5
    颜色 黄色 蓝色 红色 绿色 白色
    国籍 挪威人   英国人    
    宠物        
    饮品   牛奶 咖啡  
    香烟 Dunhill Belnds      

    5:根据 12条 很容易看出5号房的人抽Blue Master 喝啤酒 ,2号房的人是丹麦人,他喝茶
    房子 1 2 3 4 5
    颜色 黄色 蓝色 红色 绿色 白色
    国籍 挪威人 丹麦人 英国人    
    宠物        
    饮品 喝茶 牛奶 咖啡 啤酒
    香烟 Dunhill Belnds     Bule Maseter

    6:剩下德国和瑞典人,只能是4号房或5号房选其一,根据 12,13条,4号房是德国人,抽Prince香烟
    房子 1 2 3 4 5
    颜色 黄色 蓝色 红色 绿色 白色
    国籍 挪威人 丹麦人 英国人 德国人  
    宠物        
    饮品 喝茶 牛奶 咖啡 啤酒
    香烟 Dunhill Belnds   Prince Bule Maseter

    7:因此 5号房是瑞典人,养狗,3号房只能抽Pall Mall 养鸟,又根据 10 条,1号房的人养猫,那么剩下5号房的只能养鱼
    房子 1 2 3 4 5
    颜色 黄色 蓝色 红色 绿色 白色
    国籍 挪威人 丹麦人 英国人 德国人 瑞典人
    宠物
    饮品 喝茶 牛奶 咖啡 啤酒
    香烟 Dunhill Belnds Pall Mall Prince Bule Maseter

    结果:德国人养鱼
    推导过程中一定要牢记,每个人养的宠物,喝的酒,房子颜色,国籍,抽的香烟都是唯一的,要从这个唯一性上推导其他人的喝的酒,抽的香烟,进而得到其他信息
  • 相关阅读:
    (转载)Linux系统中分离线程的使用
    (转载)Vim的几种模式介绍
    (转载)Linux下检查内存泄漏、系统性能的系列工具
    (转载)Linux 僵尸进程与孤儿进程
    (转载)valgrind,好东西,一般人我不告诉他~~ 选项
    (转载)Linux进程组、作业、会话的理解
    Open a file, and then readin a file tcl tk
    save vars and arrays
    itcl class example
    constructor with args tcl tk
  • 原文地址:https://www.cnblogs.com/JYun/p/792142.html
Copyright © 2011-2022 走看看