YUU


私信TA

用户名:uq_77405186617

访问量:1613

签 名:

来个大佬带带我吧

等  级
排  名 2209
经  验 2326
参赛次数 1
文章发表 16
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

IP判断
浏览:216
Dinner C++
浏览:212
题解 妹子杀手的故事[ C++]
浏览:169

解题思路:

1.蚂蚁是相同的,碰面时可以看作只传染了感冒,没有反向而是继续向前走。

2.当q[0]>0时,如果它的右边的蚂蚁向左走(q[i]<0&&fabs(a[i])>q[0]),即一定会与q[0]相遇,并且会与q[0]左边且向右走的蚂蚁(q[i]<0&&fabs(q[i])<q[0])相遇,当然如果它右边没有向左走的蚂蚁,就不会有蚂蚁和它相遇。

3.当q[0]<0时与上述类似

注意事项:

参考代码:

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
    int n,q[50];
    cin>>n;
    for(int i=0;i<n;i++)scanf("%d",&q[i]);
    int t=q[0],num=1;
    int b=0;
    if(t<0){
        for(int i=1;i<n;i++){
            if(q[i]>0&&q[i]<fabs(t)){
                b=1;break;
            }
        }
        if(b==1){
            for(int i=1;i<n;i++){
                if(q[i]>0&&q[i]<fabs(t)) num++;
                if(q[i]<0&&fabs(q[i])>fabs(t)) num++;
            }
        }else num=1;
    }else{
        for(int i=1;i<n;i++){
            if(q[i]<0&&fabs(q[i])>t){
                b=1;break;
            }
        }
        if(b==1){
            for(int i=1;i<n;i++){
                if(q[i]<0&&fabs(q[i])>t) num++;
                if(q[i]>0&&q[i]<t) num++;
            }  
        }else num=1;
    }
    cout<<num;
    return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区