您的位置:首页 > 其它

蓝桥杯 蚂蚁感冒

2017-04-03 10:24 239 查看
思路:

脑洞题。

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

实现:

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 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: