随笔
最近在网上看到一些很有意思的题目,算是考智力的吧,更重要的是算法,copy到自己的博客,想看的时候随时都能看。算法真的是王道啊,可惜我出了校门才意识到,唉!
1 题意:
一幢大楼的底层有1001根电线,这些电线一直延伸到大楼楼顶,你需要确定底层的1001个线头和楼顶的1001次线头的对应关系。你有一个电池,一个灯泡,和许多很短的电线,你需要上下楼几次才能确定电线接头的对应关系:
解答:首先将底层一对接口(假设为A1,A2)连接起来,然后上楼,根据提供的电池和灯泡的亮灭,确定顶层对应的一对(假设为a1,a2),接着将顶层的另一对连接起来(假设为B1,B2),然后下底层,确定与B对应的一对(假设为b1,b2),然后将底层的A1,B2(或者是A2,B1)连接起来,上楼,分别将已经确定的A和B两对交换连接(如(a1,b1),(a2,b2)或(a2,b1),(a1,b2)),直到有一组灯泡亮为止即可确定与底层连接的一组((A1,B2)或者是(A2,B1))相对应的具体是哪个接口,同时,剩下的2个也可以确定了,这样第一次确定4个接口需要上下楼3次。
然后根据确定的4个接口,在顶层分别和剩下的接口中的4个连接,下到底层,即可再确定4个接口,共8个接口,此时只用在上一次的基础上+1,即需要上下楼4次,这样依次可以确定16个,32个...,210=1024,从而23到210共8次,加上第一次的3,共11次上下楼。

浙公网安备 33010602011771号