UyHiP趣题:拉灯游戏总有解吗?

    某公司有 n 间办公室。每间办公室都有一盏灯,拉动它的开关即可改变电灯的状态。某些办公室之间存在“业务相关”的关系(这是一个对称的关系)。一个办公室可以和 0 到任意多个办公室相关。愚人节那天,有人在大家上班之前偷偷对办公室的电灯开关做了手脚:拉动任何一个办公室的电灯开关,都会同时改变该办公室以及所有相关办公室的电灯状态。初始时,所有灯都是关着的。证明:等到大家来上班后,总能用有限次的开关,最终把所有办公室的灯都打开。

Read more…

趣题:能否把三维空间分成无穷个圆?

    这是一个非常经典的问题:是否存在无穷个互不相交的圆,它们并在一起就是整个三维空间?换句话说,能否用圆形既无重复又无遗漏地填满整个三维空间?

    我很早就见过这个问题。我第一次看到这个问题时,显然没能理解到这个问题的精妙之处。当时我在想,这不是显然可以吗?把三维空间想像成无穷个平行平面的并集,而每个平面又可以看作是由无穷多个同心圆组成的,这样一来整个空间不就划分成无穷个不相交的圆了吗?因此,我一直没有认真考虑过这个问题。

    直到今天我才想到,上面的方案显然有问题——那些同心圆的圆心不属于任何一个圆。这个最容易想到的构造其实是错误的。看来,这个问题似乎没那么平凡。问题重新摆在了我们面前:究竟能不能把三维空间分成无穷个圆?

Read more…

UyHiP趣题:限制最苛刻的选票统计程序

    因为忙,不少计划写下来的东西都一直搁置着。其中一个拖了很久都没写的就是 UyHiP 一月的题目 了。这是一道看上去非常困难的算法题目,当时我没能解答出来;看到答案后才恍然大悟,拍案叫绝。这是一道非常少见的算法好题,在这里记下来。

    一个国家里有 N 个公民,这些公民从 1 到 N 依次编号。这是一个民主国家,国家做出的每个决定都需要全体公民投票,每个人必须且只能投一票。

    不过,随着该国家人口数量的增加,这种投票方式的效率越来越低。于是,这个国家实行了一种新的民主制度。每过四年,这个国家将会举行一次“代表选举大会”,届时,每个公民都必须且只能提名一个他信得过的人,来作为他自己的代表。注意,提名自己作为自己的代表也是允许的。对于每个被提名了的人,有百分之多少的人提名他,他就拥有了相当于多少张选票的权力(向下取整)。在接下来的四年里,国家要做出某项决定时,就只需要这些代表来参加了。

    比方说,这个国家有 200 个人,在代表选举大会上,有 98 个人提名 1 号公民当代表,有 101 个人提名 2 号公民当代表,有 1 个人提名 200 号公民当代表。结果就是,只有 1 号公民和 2 号公民成为代表,在接下来的四年里参与投票,其中 1 号公民一票当 49 票,2 号公民一票当 50 票。值得注意的是, 200 号公民虽然有提名,但支持率仅 0.5% ,因此他今后四年没有当代表的权力。

Read more…

另类称球趣题:验证砝码所标克数的正确性

    有六个砝码,它们的重量分别是 1 克、 2 克、 3 克、 4 克、 5 克、 6 克。每个砝码上都标有这个砝码的重量,但由于生产过程中的疏忽,重量有可能被标错了。请你用天平称两次,来检验这些砝码所标克数是否完全正确。

    Update: 实际克数和所标克数都是 1 、 2 、 3 、 4 、 5 、 6 ,“标错”就是指它们的对应关系是错的。称砝码的目的只是检验所标克数的正确性,如果不正确,不用找出问题出在哪些砝码上。
 
 
    答案:先把标有 1 、 2 、 3 的砝码放在天平左边,把 6 放在天平右边。注意到,如果其中三个砝码的重量之和等于另一个砝码的重量,则 1 + 2 + 3 = 6 是唯一的情况。因此,假如天平平衡,那么天平左边一定就是 1 克、 2 克、 3 克的砝码,天平右边就一定是 6 克的砝码。

    但是,这只能说明, 6 克的砝码是标对了的。我们仍然不排除 1 、 2 、 3 这三个砝码之间标混了的情况,同时也不能排除 4 、 5 两个砝码标反的情况。接下来该怎么办呢?

 
Read more…

趣题:随机折断的木棒

  依次考虑下面三个问题。

    1. 一根单位长的木棒。随机在中间选取一点,把这根木棒折断。那么,短的那一截木棒平均有多长?

    2. 一根单位长的木棒。随机在中间选取一点,把这根木棒折断。那么,长的那一截木棒平均有多长?

    3. 一根单位长的木棒。随机在中间选取一点,把这根木棒折断。那么,短的那一截与长的那一截的长度之比平均是多少?

Read more…