-
在编程之美中,有这么一个问题,房间中有三盏灯,房间外有三个开关,分别控制这三盏灯,
只能进入房间一次,怎么判断三盏灯分别由哪个开关控制;– 首先的想法是,进入房间一次,代表一个bit,而一个bit最多携带两个信息,三个开关意味着最少有三个信息,这几乎是不可能解决的,
– 但是现实中的灯可不是单纯的只有开关这么一个信息的,还可以携带温度,关灯后的荧光这两个最基本的信息的,若可以提前进入房间做一些布置,可以携带的信息就更多了,比如为每个灯增加光学敏感的设备,
- 在房间外把三个灯分别打开(其实开两盏就行了),并持续不同的时长,即可通过温度,残留荧光等信息分辨出哪个开关控制哪盏灯了