4.7 蚂蚁爬杆
来源:互联网 发布:使命召唤二战 知乎 编辑:程序博客网 时间:2024/04/30 01:57
题目:有一根树枝,树枝很细,不能同时通过两只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。
当两只蚂蚁碰头时,它们会同时调头朝反方向走。
求所有蚂蚁都离开木杆的最短时间和最长时间。
思想:虽然两只蚂蚁相遇后是调头往反方向走,但是,可以“看作”两个蚂蚁相遇后,擦身而过。
也就是说,可以认为蚂蚁的运动是独立的,是否碰头并不是重点。
所以,程序只需要遍历所有的蚂蚁,把每个蚂蚁走出木杆的最长时间(蚂蚁向离自己较远的一端走去),最短时间(蚂蚁向离自己较近的一端走去)分别求出来。结果就是所有蚂蚁离开木杆的最短时间和最长时间。
代码:
void CalcTime(int length, double *xPos, int antNum, double speed, double &Max, double &Min) { double totalTime = length / speed; Max = 0; Min = totalTime; for(int i = 0; i < antNum; ++i) { double currentMax = 0; double currentMin = 0; if(xPos[i] > (length / 2)) { currentMax = xPos[i] / speed; } else { currentMax = (length - xPos[i]) / speed; } currentMin = totalTime - Max; if(currentMax > Max) Max = currentMax; if(currentMin < Min) Min = currentMin; }}
0 0
- 4.7 蚂蚁爬杆
- 4.7 蚂蚁爬杆问题
- 编程之美4.7 蚂蚁爬杆
- 编程之美4.7 蚂蚁爬杆
- 蚂蚁爬杆问题
- 蚂蚁爬杆
- 蚂蚁爬杆
- 蚂蚁爬杆
- java蚂蚁爬杆
- 蚂蚁爬杆
- bjtuOJ1137 蚂蚁爬杆
- 蚂蚁爬杆问题
- 蚂蚁爬杆问题
- 蚂蚁爬杆
- 蚂蚁爬杆问题
- 蚂蚁爬杆+uva10881
- 蚂蚁爬杆
- 蚂蚁爬杆
- Security Analytics and Threat Analysis brighttalk
- 应用程序的安装
- 唯一性约束和唯一性索引的区别
- HDOJ1216 Assistance Required 打表
- 微信之自定义菜单
- 4.7 蚂蚁爬杆
- ACM必备(学完一个就加亮一个)不多,就这些!
- DOS命令:net use
- PMBOK(第五版)学习笔记 —— 12 项目采购管理
- 安卓学习之控件学习笔记
- 2014年省赛组队练习赛8
- GCC对乘法的优化
- 二叉排序树
- my sql limit 分页