AcWing 1211. 蚂蚁感冒

简介: AcWing 1211. 蚂蚁感冒

题目链接

1211. 蚂蚁感冒 - AcWing题库

一些话

1.int l,r;//不能定义left,rightreference to 'left' is ambiguous

2. if(m > 0 && r == 0 || m < 0 && l == 0) puts("1");

   // && 的 优先级高于 ||

切入点

// 这道题操作较为繁琐,咋一看是一道模拟题,按照模拟的思路写,写出伪代码等价替换后,就会发现这道题是一道脑经急转弯类的数学题

流程

模拟题等价替换:

// 比较难写的碰撞操作,因为碰撞时位置相同,感染情况相同,所以两只蚂蚁等价,可以认为蚂蚁没有碰撞而是直接调头了。

// 所以求出向母体靠近的蚂蚁数量,分为左右,如果左右都有的话,输出左右数量+母体,如果蚂蚁前进方向上没有蚂蚁靠近,输出1

套路

1.模拟题对比较难的地方进行等价替换

ac代码

// 一开始的思路
// 按绝对值排序,然后模拟1000个时间1000*n,每次循环检查数组内是否有绝对值相差为1的元素,有且在杆上则取反,
// 如果有一只感染,一直没感染就计数,然后感染另一只然后然后判断正负符号进行移动操作,
// 看题解后的思路
// 这道题操作较为繁琐,咋一看是一道模拟题,按照模拟的思路写,写出伪代码等价替换后,就会发现这道题是一道脑经急转弯类的数学题
// 比较难写的碰撞操作,因为碰撞时位置相同,感染情况相同,所以两只蚂蚁等价,可以认为蚂蚁没有碰撞而是直接调头了。
// 所以求出向母体靠近的蚂蚁数量,分为左右,如果左右都有的话,输出左右数量+母体,如果蚂蚁前进方向上没有蚂蚁靠近,输出1
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
int l,r;//不能定义left,rightreference to 'left' is ambiguous
int main(){
    int n,m;
    cin >> n >> m;
    for(int i = 2;i <= n;i++){
        int x;
        cin >> x;
        if(x > 0 && abs(x) < abs(m)) l ++;
        else if(abs(x) > abs(m) && x < 0) r++;
    }
    if(m > 0 && r == 0 || m < 0 && l == 0) puts("1");
    // && 的 优先级高于 || 
    else cout << l + r + 1 << endl;
    return 0;
}
目录
相关文章
|
算法
LeetCode 周赛(2023/07/08)渐入佳境
- 往期回顾:[LeetCode 单周赛第 351 场 · 一场关于子数组的专题周赛](https://mp.weixin.qq.com/s/0KIaUMEpLZw6poHs3cc7MA)
119 0
|
6月前
|
算法 Java C++
蚂蚁感冒(蓝桥杯)
蚂蚁感冒(蓝桥杯)
31 0
【寒假每日一题】AcWing 4455. 出行计划
目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 差分与前缀和
116 0
|
算法 测试技术
蓝桥杯2022年第十三届决赛真题-卡牌——二分法
蓝桥杯2022年第十三届决赛真题-卡牌——二分法
125 0
|
测试技术
蓝桥杯2021年第十二届省赛真题-砝码称重(动态规划)
蓝桥杯2021年第十二届省赛真题-砝码称重(动态规划)
AcWing第 96 场周赛
AcWing第 96 场周赛
186 0
|
算法 Java
acwing 第63场周赛【2022.08.06】
acwing 第63场周赛【2022.08.06】
78 0
acwing 第63场周赛【2022.08.06】
|
存储 机器学习/深度学习 算法
【蓝桥杯集训·每日一题】AcWing 4074. 铁路与公路
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 Floyd 算法 Spfa 算法
110 0
|
存储 算法
【蓝桥杯集训·每日一题】AcWing 3728. 城市通电
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 Prim算法
84 0
|
JavaScript BI
【蓝桥杯集训·周赛】AcWing 第96场周赛
文章目录 第一题 AcWing 4876. 完美数 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4877. 最大价值 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4878. 维护数组 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
86 0