【编程题目】有 4 张红色的牌和 4 张蓝色的牌,主持人先拿任意两张,再分别在 A、B、C 三人额头上贴...

第 22 题(推理):
有 4 张红色的牌和 4 张蓝色的牌,主持人先拿任意两张,再分别在 A、B、C 三人额头上贴
任意两张牌,A、B、C 三人都可以看见其余两人额头上的牌,看完后让他们猜自己额头上
是什么颜色的牌,A 说不知道,B 说不知道,C 说不知道,然后 A 说知道了。
请教如何推理,A 是怎么知道的。
如果用程序,又怎么实现呢?

 

推理:设A有x1张红色牌 y1张蓝色牌

           B有x2张红色牌 y2张蓝色牌

           C有x3张红色牌 y3张蓝色牌

都不知道显然没有一个人能看到4张相同颜色的牌。以C为例来说满足下面的不等式

x1,x2,y1,y2已知,

    2≥x3,y3≥0

    x3+y3 = 2

    x1 + x3 ≤ 3

    x2 + x3 ≤ 3

    y1 + y3 ≤ 3

    y2 + y3 ≤ 3

 

只有在 x1、x2、y1、y2中有两个为2时才能得到唯一解。即如果C知道,分布一定是:

           A(rr) B(bb) C(rb) 或 A(bb) B(rr) C(rb)

 

代码:我不会用代码求不等式.....没写出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值