程序员面试题:问谁养蛇?
赵小姐穿黄色衣服,喝白开水,吃梨,奍猫
陈小姐穿蓝色衣服,喝茶,吃橘子,奍鱼
钱小姐穿红色衣服,喝牛奶,吃西瓜,奍鸟
江小姐穿绿色衣服,喝咖啡,吃香蕉,奍蛇
翁小姐穿白色衣服,喝香槟,吃苹果,奍狗
解题过程:
由于该提条件繁多,感觉画个表格思路比较清晰,然后将所有给出的关系用简短的字词表示,用完的即划掉,更容易找出有用的关系,有助于理清思路。
1、根据赵小姐站在最左边、站在中间的小姐喝牛奶和赵小姐站在穿蓝衣服的小姐旁边 很容易填出第一步
姓氏 |
赵 |
||||
颜色 |
蓝 |
||||
饮料 |
牛奶 |
||||
水果 |
|||||
宠物 |
2、根据 穿绿衣服的站在穿白衣服的左边得知绿色衣服只能在第3或第4,又穿绿衣服的小姐喝咖啡 所以 绿色衣服只能在第4,第5是白色,结果如下
姓氏 |
赵 |
||||
颜色 |
蓝 |
绿 |
白 |
||
饮料 |
牛奶 |
||||
水果 |
|||||
宠物 |
3、根据条件 钱小姐穿红色衣服 得知 钱小姐在中间且赵小姐穿黄色,又根据条件穿黄衣服的小姐吃梨、穿绿衣服的小姐喝咖啡、养鱼的小姐旁边的那位吃梨 得出结果如下
姓氏 |
赵 |
钱 |
|||
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
饮料 |
牛奶 |
咖啡 |
|||
水果 |
梨 |
||||
宠物 |
鱼 |
4、到这里似乎剩下的条件似乎难以做出判断,那么继续分析可能的情况
姓氏 |
赵 |
钱 |
|||
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
饮料 |
牛奶 |
咖啡 |
|||
水果 |
梨 |
||||
宠物 |
鱼 |
||||
可能的 情况 |
翁狗 |
翁狗 |
|||
陈茶 |
陈茶 |
||||
苹果香槟 |
苹果香槟 |
||||
江香蕉 |
江香蕉 |
江香蕉 |
|||
西瓜鸟 |
西瓜鸟 |
西瓜鸟 |
|||
橘子 |
橘子 |
橘子 |
|||
水 |
水 |
水 |
5、通过观察发现可能情况第二行和第三行都是可能情况最少且互相冲突的,不妨假设陈小姐在第5,那么结果如下
姓氏 |
赵 |
钱 |
陈 |
||
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
饮料 |
水 |
香槟 |
牛奶 |
咖啡 |
茶 |
水果 |
梨 |
苹果 |
|||
宠物 |
鱼 |
与喝开水的小姐站在吃橘子的小姐旁边 条件矛盾,所以假设不成立。
6、所以陈小姐在第2,苹果香槟在第5,赵小姐喝水,江小姐在第4,翁小姐在第5,钱小姐吃西瓜养鸟,陈小姐吃橘子,赵小姐养猫,答案既出!
姓氏 |
赵 |
陈 |
钱 |
江 |
翁 |
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
饮料 |
水 |
茶 |
牛奶 |
咖啡 |
香槟 |
水果 |
梨 |
橘子 |
西瓜 |
香蕉 |
苹果 |
宠物 |
猫 |
鱼 |
鸟 |
狗 |