题解 1454: 蓝桥杯历届试题-蚂蚁感冒

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

蚂蚁感冒解题方法

解题思路:注意题目中说明第一个输入的数据为感冒的蚂蚁,正数为向右移动的蚂蚁,负数为向左移动的蚂蚁如果两只相邻的蚂蚁是同向移动,是不会相遇的,也就是不会掉头用给出的案例来讲解下-108-201225-10是感冒的蚂蚁,先标记它的下标,存入一个变量index中将所有数字存入数组再排序,

c++换一个思考方式,把复杂问题简单化-蚂蚁感冒

唉,自己根据题目模拟蚂蚁只得了40分,看的别人答案才发现可以把碰头的蚂蚁掉头看成穿过!且因为速度相同,不存在追上的问题;这样问题就变得很简单了;此时题目给出的100cm的长度就已经可以忽略了,即使是无限长,被感染的蚂蚁数量也不变;因为不用思考每只蚂蚁掉头的后的复杂情况,

1454: 蓝桥杯历届试题-蚂蚁感冒 C++

摘要:解题思路:1.蚂蚁是相同的,碰面时可以看作只传染了感冒,没有反向而是继续向前走。2.当q[0]>0时,如果它的右边的蚂蚁向左走(q[i]<0&&fabs(a[i])>q[0]),即一定会与q[0]相遇……

1454蚂蚁感冒

解题思路:首先将蚂蚁位置按照绝对值从小到大排序。将蚂蚁碰撞掉头问题等效问传过问题,若碰撞的蚂蚁中其中一只感冒,相当于与另一只相互穿过身体,而后两只蚂蚁均感冒。未感冒的蚂蚁碰撞同理。于是,感冒的蚂蚁总数为:在初始感冒蚂蚁身前相向而行的蚂蚁数+在初始感冒蚂蚁身后同向而行的蚂蚁数量+初始感冒蚂蚁。

模拟麻烦 找规律

摘要:解题思路:注意事项:参考代码:#include <iostream>#include <algorithm>#include <math.h>using namespace std;int a[100……