• 【编程题目】有 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)

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

  • 相关阅读:
    虚拟PC上网设置
    打造无线AP
    ftp密码修改
    桌面
    红蜘蛛
    C++ Zip压缩解压缩[支持递归压缩]
    C++通过访问注册表获取已安装软件信息列表
    IOS Simulator Create Keyboard Shortcut
    简单的silverlight切图程序
    silverlight 反射调用WebService
  • 原文地址:https://www.cnblogs.com/dplearning/p/3972960.html
Copyright © 2020-2023  润新知