首页 > 其他分享 >蚂蚁感冒

蚂蚁感冒

时间:2023-02-19 16:45:49浏览次数:44  
标签:count begin 蚂蚁 int 感冒 abs ans

蚂蚁感冒

https://www.luogu.com.cn/problem/P8611)

日常解读一下题目,首先,已知已经有一只蚂蚁感冒了,当这只蚂蚁与其他蚂蚁碰头的时候,感冒会传染,问当所有蚂蚁离开这个木棍后,共有几只蚂蚁感冒了

题目还说,两只蚂蚁相碰时,会掉头 --> 这个可能会有点误区,就一直在想怎么去写掉头,我们简化一下,两只蚂蚁(有一只是感染的)碰头,那么两只最终都会称为感染者,那么掉不掉头有什么关系呢,一直向前走就是了。

解读到上边,那么问题就成了以最开始感染的蚂蚁为起点,向左/向右遍历一遍,看看有没有方向相反的蚂蚁,如果有那么感染者+1 且此时还要向右/向左遍历一遍,检查最开始感染的蚂蚁另一边有没有方向相反的蚂蚁,有就+1.反之就不用再遍历了,因为蚂蚁的速度是一样的,不存在追及问题

ACODE


#include <bits/stdc++.h>

#define ll long long
#define endl '\n'
using namespace std;
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int n; cin >> n;
    vector<int> ans(101);int begin;
    for (int i = 1; i <= n; i++) {
        int a; cin >> a;
        if(i == 1){
            ans[abs(a)] = -1;
            begin = a;
        }
        else{
            if(a < 0)ans[abs(a)] = -2;
            else ans[a] = 1;
        }
    }
    int count = 1;
    if(begin > 0){
        for (int i = begin+1; i <= 100; i++) {
            if(ans[i] < 0)count ++;
        }
        if(count != 1){
            for (int i = 1; i <= begin-1; i++) {
                if(ans[i] > 0)count++;
            }
        }
    }else{
        for (int i = 1; i < abs(begin); i++) {
            if(ans[i] > 0)count++;
        }
        if(count != 1) {
            for (int i = abs(begin)+1; i <= 100; i++) {
                if (ans[i] < 0)count++;
            }
        }
    }
    cout << count << endl;
    return 0;
}

标签:count,begin,蚂蚁,int,感冒,abs,ans
From: https://www.cnblogs.com/TFOREVERY/p/17134993.html

相关文章

  • 30 行代码实现,支付宝蚂蚁森林自动收能量!转载
    作者| xindoo来源|CSDN博客,已获作者授权虽然我支付宝加了好多好友,平时有很多能量可以“偷”,但由于太懒,至今一棵树都没种成,所以心心念念把偷能量这事自动化。之前通......
  • 【Java】蚂蚁迷宫问题
    packagecom;publicclassMiGong{publicstaticvoidmain(String[]args){//思路//1、先创建迷宫,用二维数组表示intmap[][]=newint[8][7];......
  • 马云出局蚂蚁集团 失去集团控制权
    我是卢松松,点点上面的头像,欢迎关注我哦!一手创造起来的电商巨头公司到最后却给别人了,通过股权转让,马云出局蚂蚁集团,失去集团控制权。阿里巴巴发布公告,这一时间舆论就石破天惊......
  • 如何辨别新冠和感冒
    1、普通感冒和新冠感染都会出现头痛、发热,嗓子不舒服、咽喉疼等这些常见的症状。但是普通感冒容易出现鼻塞、流鼻涕、咳嗽等上呼吸道感染症状,全身症状不明显。而新冠症状......
  • 蚂蚁感冒【第五届蓝桥杯省赛C++A/B组】
    蚂蚁感冒长\(100\)厘米的细长直杆子上有\(n\)只蚂蚁。它们的头有的朝左,有的朝右。每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。当两只蚂蚁碰面时,它们会同时掉......
  • 夏天暑湿感冒最多,除湿是关键
    暑湿感冒一般指的是夏季感冒。因为夏季闷热,湿度比较大,此时再感受外邪,暑气和湿气会随着外邪一起侵入,所以叫作暑湿感冒。首先说说暑气。暑也是大气中六淫邪的一种,属于火热......
  • 寒包火感冒又是风寒又是风热感冒
    寒包火即表有寒邪、内有郁热,表现出既有高烧、口渴、咽痛的热证,也有怕冷、畏寒、流清涕的外寒症状。遇到这种情况的时候,往往很多朋友就不知所措了,无法辨证到底是风寒还是风......
  • 风寒感冒最常见,及时治疗是关键
    【常见症状】恶寒重,发热轻,无汗,头痛,肢节酸疼,鼻塞声重,或鼻痒打喷嚏,时流清涕,咽痒,咳嗽,咳痰稀薄色白,口不渴或喜热饮,舌苔薄白而润,脉浮或浮紧。恶寒|风寒感冒为什么会出现恶寒的......
  • 来了!2020云栖大会:蚂蚁金融科技产品能力再升级
    当前,全球正在经历一场数字化变革,给各行各业带来了前所未有的影响。尤其在金融行业,以云计算、大数据以及移动互联网等为代表的科技已经开始广泛的运用到金融服务各个领域中,传......
  • 【杭州专场】蚂蚁单测自动生成产品体验活动招募开启
    「单元测试产品体验样板间」是由蚂蚁集团技术风险团队&企业级应用设计团队联合举办,针对于单元测试产品发起的线下用户体验活动,旨在邀请相关领域的技术同学亲临现场互动交流......