解题思路:
佛啦,我只想说大佬牛逼,没看解析前写了一百行结果还是错的,看了解析后“流弊流弊”!!!
具体思路就是可以把碰面再返回当成穿过处理,情况就是要么一个都感染不到,要么感染(比感冒蚂蚁大的反向蚂蚁)和(同向的比感冒蚂蚁小的蚂蚁);
参考代码:
#include<bits/stdc++.h> using namespace std; int main() { int ant[51]; int n, count = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> ant[i]; } int first = ant[0]; for (int i = 1; i < n; i++) { if (first * ant[i] < 0 && ant[i] + first < 0) count++; //感染反向的蚂蚁 } if(count) for (int i = 1; i < n; i++) { if (first * ant[i]>0 && ant[i]<first) count++;//如果有被感染的蚂蚁,将感染同向蚂蚁。 } cout << count+1; }
0.0分
4 人评分
Pascal三角 (C语言代码)格式错误浏览:516 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:587 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)万恶的long long浏览:875 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:691 |
简单的a+b (C语言代码)浏览:523 |
关于C语言变量位置的问题浏览:272 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:819 |
1013题解浏览:553 |
计算质因子 (C语言代码)浏览:696 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:800 |