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;
}
目录
相关文章
|
6天前
|
存储
Leetcode第383场周赛
在LeetCode第383场周赛中,选手完成了3道题目。第一题是关于边界上的蚂蚁,蚂蚁根据非零整数数组nums的值移动,返回蚂蚁返回边界上的次数。解题方法是计算数组累加和为0的次数。第二题涉及计算网格的区域平均强度,给定一个灰度图像和阈值,返回每个像素所属区域的平均强度。解题关键在于理解相邻像素和区域定义,并计算平均强度。第三题是恢复单词初始状态的最短时间问题,通过移除前k个字符并添加k个字符,求恢复原词所需的最短时间。解题策略是检查去除前k个字符后的子串是否能作为原词的前缀。
12 1
Leetcode第383场周赛
|
6天前
|
存储
Leetcode第382场周赛
```markdown 给定字符串`s`,计算按键变更次数,即使用不同键的次数,不考虑大小写差异。例如,`&quot;aAbBcC&quot;`变更了2次。函数`countKeyChanges`实现此功能。另外,求满足特定模式子集最大元素数,`maximumLength`函数使用`TreeMap`统计次数,枚举并构建子集,返回最大长度。最后,Alice和Bob玩鲜花游戏,Alice要赢需满足鲜花总数奇数、顺时针在[1,n]、逆时针在[1,m],返回满足条件的(x, y)对数,可通过奇偶性分类讨论求解。 ```
13 1
|
6天前
|
算法 Java C++
蚂蚁感冒(蓝桥杯)
蚂蚁感冒(蓝桥杯)
18 0
|
11月前
|
算法 Perl
力扣266场周赛
力扣266场周赛
70 0
|
11月前
|
测试技术
LeetCode283场周赛
LeetCode283场周赛
56 0
AcWing第 96 场周赛
AcWing第 96 场周赛
155 0
|
存储 机器学习/深度学习 算法
【蓝桥杯集训·每日一题】AcWing 4074. 铁路与公路
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 Floyd 算法 Spfa 算法
72 0