南桥杯:蚂蚁感冒

简介: 南桥杯:蚂蚁感冒

来源:[蓝桥杯 2014 省 AB] 蚂蚁感冒

题目内容:

长 100厘米的细长直杆子上有 n 只蚂蚁。它们的头有的朝左,有的朝右。


每只蚂蚁都只能沿着杆子向前爬,速度是 1厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。


这些蚂蚁中,有 1只蚂蚁感冒了。


并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。


请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。


输入格式:第一行输入一个整数 n, 表示蚂蚁的总数。


接着的一行是 n 个用空格分开的整数 Xi, Xi 的绝对值表示蚂蚁离开杆子左边端点的距离。


正值表示头朝右,负值表示头朝左,数据中不会出现 0 值,也不会出现两只蚂蚁占用同一位置。


其中,第一个数据代表的蚂蚁感冒了。


输出格式: 输出1个整数,表示最后感冒蚂蚁的数目。


数据范围: 1<n<50 0<|Xi|<100


输入样例1:

3

5 -2 8

输出样例1:

1

输入样例2:

5

-10 8 -20 12 25

输出样例2:

3

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int n, i, g[55] = { 0 };
    cin >> n;
    for (i = 0; i < n; i++)
    {
        cin >> g[i];
    }
    int left = 0, right = 0;  //左边向右走的蚂蚁 右边向左走的蚂蚁
    for (i = 0; i < n; i++)
    {
        if (abs(g[i]) < abs(g[0]) && g[i] > 0) left++;
        if (abs(g[i]) > abs(g[0]) && g[i] < 0) right++;
    }
    if ((left > 0 && g[0] > 0) || (g[0] < 0 && left > 0)) cout << left + right + 1 << endl;
    else cout << 1 << endl;
    return 0;
}
目录
相关文章
|
7月前
|
算法 Java C++
蚂蚁感冒(蓝桥杯)
蚂蚁感冒(蓝桥杯)
39 0
AcWing 1211. 蚂蚁感冒
AcWing 1211. 蚂蚁感冒
72 0
|
算法
小思维题-蚂蚁感冒——蓝桥杯
Description 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。
151 0
|
机器学习/深度学习 算法
再温暖的鸡汤不如一场殊死的战争,诸神之战四赛区冠军出炉!
在这个弱肉强食的创业风云里,“站在巨人的肩膀上创业”想来必是件幸福的事。听说,机会来了!你和融资、流量、阿里系生态资源的屏障也许只隔着一个“诸神之战”。
2773 0
|
Web App开发 监控 网络安全
第六届蓝盾杯山东赛区省赛-比赛反思
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396663 本来是确定好三个人去参赛的,其中一个web主力因为私事,没能去,我只好顶替。
962 0