蚂蚁爬杆
来源:互联网 发布:晶体结构画图软件 编辑:程序博客网 时间:2024/06/10 19:02
有一根27厘米长的细木杆,在第3厘米,7厘米,11厘米,17厘米,23厘米这五个位置上各有一只蚂蚁,木杆很细,不能同时通过两只蚂蚁,开始时,蚂蚁的头朝向左还是右是任意的,它们只会朝前走或掉头,但不会后退,当任意两只蚂蚁相遇后,蚂蚁会同时掉头朝反方向走,假设蚂蚁们每秒钟可以走1厘米的距离。编写程序(C/C++),求所有蚂蚁都离开木杆的最小时间和最大时间。(百度面试题)
问题分析
最小时间 :
肯定大家都很容易就想到了, 就是蚂蚁们分别向左或向右走, 其中在11厘米处的蚂蚁应该向左走比较近, 所以最小时间就是中间的蚂蚁向0处走出杆的时间, 也就是11秒.
最大时间 :
假设蚂蚁走路能够穿人(哦不, 是穿蚁), 当它们碰头时虽然题目里说是分别掉头, 但我们可以看成它们只是穿过了对方的身体而继续往前走, 要求最大时间也就是找到那个走出杆最久的蚂蚁, 很显然是3厘米的蚂蚁往右走(也就是木杆27厘米处), 时间为24秒.
结论
不管木杆有多长,有多少只蚂蚁,最长的永远是(木杆长度-最靠近木杆边缘的蚂蚁的位置,向另一端走),最短的永远是(木杆最中间的蚂蚁的位置)。
- 蚂蚁爬杆问题
- 蚂蚁爬杆
- 蚂蚁爬杆
- 蚂蚁爬杆
- java蚂蚁爬杆
- 蚂蚁爬杆
- bjtuOJ1137 蚂蚁爬杆
- 蚂蚁爬杆问题
- 蚂蚁爬杆问题
- 蚂蚁爬杆
- 蚂蚁爬杆问题
- 蚂蚁爬杆+uva10881
- 蚂蚁爬杆
- 蚂蚁爬杆
- 蚂蚁爬杆问题
- 蚂蚁爬杆问题
- 蚂蚁爬杆问题
- 4.7 蚂蚁爬杆
- 解密黑洞
- Lua资料
- MySQL-复制(1)
- Installing Windows CE 6.0 tools on a Windows7 64bit PC (Updated)
- 实例详解JSP内置对象
- 蚂蚁爬杆
- 钱能C++语言读书笔记(三)如何改变类成员的范围属性
- oracle利用闪回找回误删除的表数据集
- 燕子与乌鸦
- 狼与老太婆
- 逆向QBasic7.1笔记
- Sift算法-----part4
- 控制反转(IoC)与依赖注入(DI)
- Thinking of Design patterns