解题思路
首先这个题目的样子输出有问题,最快不是4秒,是20秒。
最快的时间:在杆左半部分的往左侧爬,在杆右半部分的往右爬,这样需要时间最久的那个蚂蚁就是最快时间,这样依次爬行不存在蚂蚁碰撞的问题。
最慢的时间:因为涉及到蚂蚁碰撞的问题,我们先分析蚂蚁碰撞的时候发生了什么。
当A和B碰撞的时候分别原路返回,其实我们可以换个角度来看,B原路返回之后走的是原来A应该继续走的路线,A原路返回之后走的是原来B应该继续走的路线,假如你把原路返回的蚂蚁A看做B,原路返回的蚂蚁B看做A,是不是发现了什么。其实碰撞之后原路返回跟蚂蚁继续前进是一样的。
所以,位于杆子左半部分的蚂蚁向右侧爬,位于杆子右半部分的向左爬,需要最长时间的那个蚂蚁就是最长时间。
至于代码嘛,因为这道题我没写,就简单说下思路。