www.ddhw.com
非注册网友和阿虎答的方法符合本坛老网友以前讨论出的方法, 只需一点小改进即可. 我们把这叫做方法一.
www.ddhw.com
另外, HF讨论了另一个有趣的方法. 我们把它叫做方法二. 至于哪种方法在什么情况下比另一种更好(即哪种更快), 分界线在哪, 我觉得很说不准. 蛮复杂的, 也蛮有趣的. 有兴趣的朋友可继续讨论.
www.ddhw.com
现在我把以前的讨论结果(方法一)摆一下:
www.ddhw.com
基本方案 -----
www.ddhw.com
明天第1人(也是自然头领)去后把两开关放到一个初始位置,比如00,若原来就是如此,就不动(他今后有的是动的机会);接着其他第一次去的人去时,依次,比如01à11à10, 每人向前变一个开关的状态. 这期间若是已动过开关的人去,就不动. 当变成10之后,其他人都不能动,大家一致等头领去动回00的位置,然后重复这样的周期。始点00始终是头领的点,其他人绝对不能把开关动成00. 这方案中,除头领之外,其他人只能动一次开关,之后再去就再也不能动了。如下:
www.ddhw.com
00(by头领)— 01(by其他人1)— 11(by其他人2)-- 10(by其他人3)— 00(by头领.一个周期完.头领记数pass三人)
www.ddhw.com
如此重复直到头领记数除自己外的22人全pass为止.
www.ddhw.com
改进方案 ----- www.ddhw.com
www.ddhw.com
头领第一次进去,不一定都能把开关放到00. 即便如此,也能有所作为. 总之,第一次的动法是: 若看到00,最好,就不动; 若看到10或01,就动成00; 关键是若看到11怎办? 最好是倒退到01(不是前进到10,也不是留在11不动).www.ddhw.com
www.ddhw.com
同理,头领以后每次进去都可有所作为,不一定要等到一个周期完结(即,不一定要等看到10)再复原到00,只要他进去时见到开关已不在00的位置, 都可动一下开关. 动法如上述一样: 若看到10,当然是前进到00; 若看到01,变回到(即,倒退到)00; 若看到11,倒退到01.
www.ddhw.com
总之, 头领每次的有所作为, 比之于他干等01的到来, 会使过程加快一点(在头领两次进去之间尽量多pass人,只要他记数记清楚就行).
www.ddhw.com(这里是定00为始点. 阿虎定01为始点也同理)