题目:有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时, 蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米 的距离。编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。
解:
既然两只蚂蚁碰头后,速度不变,只改变方向,那么不妨把问题转化为两个蚂蚁碰头后相互穿过对方。
所以最大的时间为左端的蚂蚁到右端的时间和右端的蚂蚁到左端的时间两者中的最大值。即max(27-3,23)=24
最小时间即为中间的那只蚂蚁到某一端的最小时间,即为min(11,27-11)=11
解:
既然两只蚂蚁碰头后,速度不变,只改变方向,那么不妨把问题转化为两个蚂蚁碰头后相互穿过对方。
所以最大的时间为左端的蚂蚁到右端的时间和右端的蚂蚁到左端的时间两者中的最大值。即max(27-3,23)=24
最小时间即为中间的那只蚂蚁到某一端的最小时间,即为min(11,27-11)=11