先说清楚选项和规则
三个人林、周、陈分别喝牛奶、咖啡、茶中的一种,也各穿红、蓝、绿中的一种;每类选项都恰好用一次。线索是:林喝牛奶;周喝咖啡;喝茶的人穿蓝色;林不穿红色;陈不穿绿色。目标是找出饮料和颜色的分配。
“每类选项各用一次”是题目规则,不是隐藏线索。若允许两个人喝同一种饮料或穿同一种颜色,答案会变多;先把这一约定写明,推理才可复核。
饮料线索先锁定三个人
林已经喝牛奶,周已经喝咖啡,三种饮料彼此不同,所以剩下的茶只能属于陈。饮料组合由此固定:林—牛奶、周—咖啡、陈—茶。把已知信息先写进表格,能减少后续需要尝试的组合。
第三条线索将喝茶的人与蓝色绑定,因此陈穿蓝色。红色和绿色只剩给林、周;再用“林不穿红色”,林只能穿绿色,周便穿红色。这里先处理饮料,再处理颜色,避免同时猜六个属性。“喝茶的人”是一条关系线索,并没有直接点名穿蓝色者;只有先从饮料条件推出陈喝茶,才能把蓝色落到陈身上。按这个顺序推理,才不会把条件误当成彼此无关的指定。
检查线索的作用
最终分配是林喝牛奶、穿绿色;周喝咖啡、穿红色;陈喝茶、穿蓝色。逐条回看:林不是红色,陈不是绿色,喝茶者确实穿蓝色,五条条件全部成立。
其中“陈不穿绿色”是冗余检查:陈已由喝茶推出穿蓝色,即使去掉这条,仍然只有同一结果。反过来,若去掉“林不穿红色”,林和周可以交换红、绿,便出现两种分配。比较删去线索后的答案数,能看出哪些条件真正锁定了解。出题时可以标记线索作用:饮料条件锁定三人,茶蓝关系定出陈的颜色,林不红解决最后两色,而“陈不绿”只作校验。若希望每条线索都参与求解,应替换冗余条件,并重新枚举36种组合确认唯一性。这也给出检验谜题最小线索集的方法。
用组合数验证唯一性
不看线索时,饮料有3!种排列,颜色也有3!种排列,合计36种。林喝牛奶、周喝咖啡把饮料排列锁成一项;茶与蓝色绑定后,陈穿蓝色,林和周只剩红、绿两种交换。林不穿红色排除其中一项,最终只有一组分配。
表格法适合核对过程:人物作行,饮料和颜色作列;已确定的格子打勾,排除的格子打叉。若某一行或列仍有两个候选项,就继续应用尚未使用的线索,而不是凭名字或颜色联想猜答案。
把谜题当作休闲推理
这道自编题的重点是把自然语言转成约束、说明唯一性并检查线索是否多余。做题快慢会受阅读习惯和记号方式影响,不能据此评价智商、性格或能力。
若出题时没有说明“一人一项”,就不能擅自使用唯一分配的假设;若线索存在冗余,也应如实说明。本题用5条线索给出稳定解,其中一条用于复核,正好展示了题目条件与解题步骤可以分别检查。