C++
$\color{gold}{— > 蓝桥杯辅导课题解}$
思路:
数学,脑筋急转弯
$分析:$
$结论:$
$以起始蚂蚁\ \color{red}{向右}\ 为例:$
$1、右边向左走的,必然会被感染$
$2、右边向右走的,必然不会被感染$
$3、左边向左走的,必然不会被感染$
$4、左边向右走的:$
$\hspace{1em}{(1)右边存在向左走,必然会被感染}$
$\hspace{1em}{(2)右边不存在向左走,必然不会被感染}$
$总结:$
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 55;
int n;
int x[N];
int main() {
cin >> n;
for (int i = 0; i < n; i ++) cin >> x[i];
int l = 0, r = 0; // l:左边向右走 r:右边向左走
for (int i = 0; i < n; i ++) {
if (abs(x[i]) < abs(x[0]) && x[i] > 0) l ++;
else if (abs(x[i]) > abs(x[0]) && x[i] < 0) r ++;
}
if (x[0] > 0 && r == 0 || x[0] < 0 && l == 0) cout << 1;
else cout << l + r + 1;
return 0;
}