有4 张红色的牌和4 张蓝色的牌,主持人先拿任意两张,再分别在A、B、C 三人额头上贴任意两张牌,A、B、C 三人都可以看见其余两人额头上的牌,看完后让他们猜自己额头上是什么颜色的牌,A 说不知道,B 说不知道,C 说不知道,然后A 说知道了。
请教如何推理,A 是怎么知道的。如果用程序,又怎么实现呢?
HANDWRITING:
头上的牌可以是2红,2蓝,红蓝,一共2个条件,3人开始都不知道,那么:
1、若有人看到了4张红牌或4张蓝牌,必然说知道,则必然看到的都是3红1蓝,1红3蓝,2红2蓝
2、若大家都是2张同色,必然出现4张同色牌,那么至少有1人是红蓝的组合
都说不知道以后,A知道了,那么:
3、若大家都是红蓝组合,那么在3人都说不知道之后也无法推出自己头上的牌,那么至少有1人是2张同色
4、若1人同色,2人红蓝组合,也无法推出自己的牌,那么必然是1人红蓝组合,2人同色,则知道牌的A就是红蓝组合
情况是:A红蓝 B红红 C蓝蓝
B看到1红3蓝,剩余3红1蓝,无法确定
C看到3红1蓝,剩余1红3蓝,无法确定
A看到2红2蓝,剩余2红2蓝,无法确定,但BC都说不知道,如果自己是同色,必然有人看到4张同色,就能知道自己的牌,反证法说明自己是红蓝组合
程序实现:
不知道要实现什么,略。。