背景:在一个伸手不见五指的黑夜里,有一群人过一独木桥,只有一盏灯,每次只能过两人,于是没过去两个必须回来一个人。
分析:
N:总人数,按所花时间从小到大排序:A<B<......<Y<Z,分别对应所用时间a,b......y,z。
分情况讨论:
假设数据已经按以上规则排好序。
N=1时,taketime=a;
A -> a;
N=2时,taketime=b;
A,B -> b;
N=3时,taketime=a+b+c;
A,C -> c;
A <- a;
A,B -> b;
N=>4时,
有两种模式:
模式一:taketime=2*a+y+z;
A,Z -> z;
A <- a;
A,Y -> y;
A <- a;
模式二:taketime=a+2*b+z;
A,B -> b;
A <- a;
Y,Z -> z;
B <- b;
当a+y < 2*b 时用模式一;
当a+y > 2*b 时用模式二;
当a+y = 2*b 时都可用。
根据以上规则,最慢的一组先过河,A和B充当提灯角色(可以这么认为,但B不一定每次都参加)直到最后。