AcWing 1211. 蚂蚁感冒
原题链接
简单
作者:
热爱你所热爱
,
2021-04-08 20:45:32
,
所有人可见
,
阅读 316
#include<iostream>
using namespace std;
// n 蚂蚁数
// l 第一只蚂蚁左边朝右走的蚂蚁数
// r 第一只蚂蚁右边朝左走的蚂蚁数
// a 第一只蚂蚁
// x 每次输入的蚂蚁
int n, l, r, a, x;
int main()
{
cin >> n >> a;
for(int i = 1; i< n; i++)
{
cin >> x;
//第一只蚂蚁左边的且向右走的
if(abs(x) < abs(a) && x > 0) l ++;
//第一只蚂蚁右边的且向左走的
if(abs(x) > abs(a) && x < 0) r ++;
}
//特殊情况 第一支蚂蚁向右走 且左边没有向左走的
// 第一支蚂蚁向左走 且右边没有向右走的 就输出 1 表示只有第一支蚂蚁本身感冒
if( a < 0 && l ==0 || a > 0 && r == 0) cout << 1;
//否则就输出 左边的 右边的 和 第一只
else cout << l + r + 1;
return 0;
}