蓝桥杯 蚂蚁感冒

Posted 王宜鸣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯 蚂蚁感冒相关的知识,希望对你有一定的参考价值。

思路:

脑洞题。

蚂蚁碰面的时候不是掉头回去,而是互相“穿过”。

实现:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cmath>
 4 using namespace std;
 5 
 6 int n, a[55];
 7 int main()
 8 {
 9     cin >> n;
10     cin >> a[0];
11     bool dir = true;
12     if (a[0] < 0)
13         dir = false;
14     bool flag = false;
15     for (int i = 1; i < n; i++)
16     {
17         cin >> a[i];
18         if (dir && a[i] < 0 && abs(a[i]) > a[0] ||
19             !dir && a[i] > 0 && a[i] < abs(a[0]))
20             flag = true;
21     }
22     if (!flag)
23         puts("1");
24     else
25     {
26         int cnt = 1;
27         for (int i = 1; i < n; i++)
28         {
29             if (dir)
30             {
31                 cnt += (a[i] < 0 && abs(a[i]) > a[0] || a[i] > 0 && a[i] < a[0]);
32             }
33             else
34             {
35                 cnt += (a[i] > 0 && a[i] < abs(a[0]) || a[i] < 0 && a[i] < a[0]);
36             }
37         }
38         cout << cnt << endl;
39     }
40     return 0;
41 }

 

以上是关于蓝桥杯 蚂蚁感冒的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯 蚂蚁感冒

LQ0212 蚂蚁感冒序列处理

蓝桥杯 --- 数学与简单DP

二十五: 蓝桥杯-兰顿蚂蚁

蓝桥杯 历届试题 PREV-33 兰顿蚂蚁

SDNU 1206.蚂蚁感冒 代码如此简单,思维练习7月29