Attic Lamp


题目

阁楼里有一盏老式白炽灯,楼下有三个开关,其中只有一个能控制这盏灯。

你可以先在楼下对开关做一些操作,然后只允许上阁楼一次。

问题是:如何在这一次上阁楼后,判断到底是哪一个开关连接着阁楼的灯?

分析

关键点是:这是老式白炽灯,除了“亮/灭”以外,还有一个可利用的信息是“灯泡是否发热”。

所以可以把三个开关分别编码成三种状态:

  1. 一个开关对应“灯亮着”。
  2. 一个开关对应“灯灭但灯泡是热的”。
  3. 一个开关对应“灯灭且灯泡是冷的”。

具体操作:

  1. 先把开关A打开,等待几分钟,让灯泡充分变热。
  2. 再把开关A关闭。
  3. 把开关B打开。
  4. 开关C保持关闭,然后只上阁楼一次。

到阁楼后判断:

  1. 如果灯是亮的,说明连接的是开关B。
  2. 如果灯不亮但灯泡是热的,说明连接的是开关A。
  3. 如果灯不亮且灯泡是冷的,说明连接的是开关C。

这样一次上楼就能唯一确定对应关系。

Previous Next