策略游戏:医生和病人(I)

我很早之前就想过这个问题,但一直只知道一个trivial的答案。前两天无意中发现网上已经有高手给出了更好的方案,故记录在此。有兴趣的可以自己想一想。

岛国上流行一种极易接触传染的病
一旦染上该病1月后病发身亡
但该病可通外科手术治愈

岛上每个人都有已被传染的可能
国王怀疑自己得了该病
在该岛上找到了医术最高名的3个医生
并要求这3个医生在当天轮流给自己动手术
然而已消毒过的手术手套只有2双
怎样最安全

现在把问题一般化,假设岛上有n个医生,还有m个(非医生)居民。现在岛上流行一种极易接触传染的病。每个居民要想治愈传染病,必须得到这n个医生的治疗,治疗的顺序无所谓(先别管这种假设的由来)。怎么安排它们手术的次序和带手套的方案,使得所用的手术手套最少。

注一:医生也有可能已被传染,故他们之间也要防止相互感染。
注二:手套可以套着用...还可以反着用...

下面的解答作者是JtR,来自水母IQDoor版。

用{m/2}+{n/2}+{n/4}(m<=n)双手套即可。{}表示向上取整。

为了叙述方便,假设m是2的倍数,n是4的倍数,不是4的倍数时类似,只是手套的“利用率”没有那么高。可能可以通过优化减少一副到两副。

1.将医生平均分为两组,分别为A,B。各m/2人;
将病人分为三组,人数分别为a=n/2,b=n/4,c=n/4

2.将m/2副手套分配给A,n/2副手套分配给a,A中的每一个医生检查a中的每一个病人;
检查前均在自己的手套外套上指定给该病人的手套;
注意所有的手套均只有一面污染。(假设医生之间也要防止相互感染)

3.将分配给a的n/2副手套中的一半翻转,两两一组套在一起,污染面互相接触,此时每一组手套内外均无污染;将这n/4组手套分配给b(n/4人);
将剩下的未使用过的n/4只手套分配给c(n/4人);

4.A中的每一位医生分别检查b,c中的病人,检查前均在自己的手套外套上指定给该病人的手套(或两只套在一起的手套);
这样A中的医生完成对所有病人的检查,而且医生的手套外侧和指定给病人的手套内侧(注意有n/4是翻转过的)均无污染。

5.A中所有的医生将各自的手套翻转后给B中的医生戴上;
b中的病人把套在一起的手套里面的那只抽出来翻转后套入c组病人的手套中。此时c组的手套每一组相互接触的面都是干净的;

6.B中所有的医生按前述方法给b,c两组病人检查;

7.将c组的手套两两分开,把套在外面的手套翻转,这样得到n/2只外侧干净的手套重新分配给a组的病人。

8.B中的所有医生检查a组的病人。

这样就完成了所有医生对病人的检查。

如果医生的数量比病人多只要把医生和病人交换即可。在该问题中二者是对称的。

  • 摸箱子问题以及在Static data structure problems上的应用 以前提到过,理论计算机这门课会邀请一些正在这边访问的教授来讲课,由于是本科生,所以这些教授一般都是讲些有趣的东西,比如之前的overhang 堆...
  • 硬币游戏 Alice和Bob两人玩一种硬币游戏。游戏在一个$$2\times2$$的棋盘上进行,棋盘上每个格子上都有一枚硬币。在每一回合,Alice可以决定选择翻转某两枚或者一...
  • 飞机加油问题 珍爱生命,远离政治。今天我们讨论一个数学问题。 这个问题的一个基本版本是说,有N架完全相同的飞机停留在一个机场,每一架最多装的油可以支...
  • 37-rule-is-optimal Theorem: Any protocol of date problem has success probability less than \(\frac{u}{n}\sum\limits_{i=u}^{n-1}\frac1i\) which is about \(37\%\). Here \(u\) is the biggest number such that \(\sum_{i=u}^...
  • 征集3个人分蛋糕的方法 Yao在课程《理论计算机II》的第一节课上提到的一个问题: 三个人如何平分一块蛋糕? 要求每个人拿到不少于1/3的蛋糕——这里指的是每个人认为自...
  • 杀人的理论分析 “杀人”,英文名为"Mafia Game",广泛流传于国内外。上个星期我们在玩的时候被Elchanan Mossel发现,然后他给了一个talk,内容就是杀人的理论分析。 ...
  • 堵猫游戏 试试吧。 当在全平面棋盘上玩这个游戏的时候,我们总是可以把猫围在一个特定的区域之内,但是这个游戏提供的范围太小了,好像并不总能够...
  • 空当接龙中最难的关 空当接龙可说是最耐玩的Windows小游戏之一,尤其在办公一族中长盛不衰。Win98中的空当接龙有32000局,在XP里面则增加到了 1000000关,不过前32000关与Win9...
  • 15 puzzle 注:此游戏很有名,有同学问我其算法,我在网上找了一下,居然没多少中文资料,这里按照以前看过的一份答案回忆整理贴出。 游戏规则很简单,4*4...
  • 最佳约会策略 题外话:最近阅微堂发的都是网友转发的政治方面的文章,不爱看的人会比较痛苦。现在讨论一个轻松一点的话题。其问题,已经被研究了很多年,有...
5条留言 -> 跳到留言表格
  • At 2007.07.16 20:16, szuxjq said:

    哈哈,我只看过最简单的只有两个安全套又要4p的问题。

    • At 2009.04.22 03:30, hi said:

      呵呵我也看过

    • At 2007.12.27 19:14, ripple said:

      如果还要求每两个医生之间也互相检查呢?医生也可能生病……

      • At 2008.08.09 18:23, bjz said:

        n个医生还是n个病人?

        • At 2008.08.18 06:20, 阿斯顿 said:

          什么题目,没点逻辑。病能反复传染吗?得过的还能再得吗?手套正反着穿2次,哪个医生敢这样做?

          (Required)
          (Required, not published)

            B | I | U | D | 添加链接 | 插入引用 | 插入代码 | 插入表情 | | + | ?
          guest | 注册 | BBS | 管理 | English | 繁體 | https

          阅微堂

          zhiqiang's personal blog
          Loading...
          Loading...
          Loading...