蚂蚁感冒

这题主要是将题目中容易迷惑的条件转化为易于做题的条件,题中说当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行,可以转化为两只蚂蚁相遇后继续沿原方向前进。
这样就很容易得出,当第一只蚂蚁向右运动时,所有在它右边向左运动的蚂蚁都会感冒,并且在第一只蚂蚁后面向右运动的蚂蚁也会感冒。
同理,当第一只蚂蚁向左运动时,所有在它左边向右运动的蚂蚁和在它后面向左运动的蚂蚁都会感冒。
#include<iostream>
using namespace std;
int main()
{
    int t, l=0,r=0;
    cin>>t;
    int n[t];
    for(int i=0;i<t;i++){
        cin>>n[i];
        if(n[i]<0&&i!=0&&n[i]<n[0])l++;
        if(n[i]>0&&i!=0&&n[i]<n[0])r++;
    }
    int ans=1;
    if(n[0]>0){
    for(int i=1;i<t;i++)
    {
        if(n[0]<abs(n[i])&&n[i]<0)ans++;
    }
        if(ans!=1)ans+=r;
        
    }
    else {
        for(int i=1;i<t;i++)
        {
            if(abs(n[0])>n[i]&&n[i]>0)ans++;
        }
        if(ans!=1)ans+=l;
    }
    cout<<ans;
}



全部评论

相关推荐

05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
07-18 18:05
门头沟学院 Java
挂了&nbsp;正式批求捞
投递滴滴等公司9个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务