1.6.2 Ants
题目
原始思路
最关键的是每只蚂蚁的朝向未知,显然,不可能用暴搜,指数级的复杂度;
所以这道题目一定要想出某个把问题简化的方法,而不是一个个去尝试答案;
最短时间很好想,让每只蚂蚁都朝着更近的端点走就好了,不会发生相遇折返的情况;
最长时间呢?一开始没有想出来,因为陷在了复杂的相遇、调头,再相遇……的过程中;但是回过头来想,整个过程显然不能直接模拟!!!
正确题解
比如先考虑两只蚂蚁,位于x1,x2;1往右,2往左;先相遇,再调头,掉下去;蚂蚁1的总路程为x1+2*(x2-x1)/2=x2;蚂蚁2的总路程为L-x2+2*(x2-x1)/2=L-x1;其实这两个路程就是他们各自沿着初始方向走到端点所需要的路程(只不过看似换成了另一个蚂蚁完成);但是我们只需要得到最长的时间就可以了,和哪一只蚂蚁走出来的没有关系!
所以其实,蚂蚁之间并没有区别!!!
相遇之后看似两只蚂蚁调了头,其实完全可以看成是蚂蚁沿着原路在走。