解题思路:
1.蚂蚁是相同的,碰面时可以看作只传染了感冒,没有反向而是继续向前走。
2.当q[0]>0时,如果它的右边的蚂蚁向左走(q[i]<0&&fabs(a[i])>q[0]),即一定会与q[0]相遇,并且会与q[0]左边且向右走的蚂蚁(q[i]<0&&fabs(q[i])<q[0])相遇,当然如果它右边没有向左走的蚂蚁,就不会有蚂蚁和它相遇。
3.当q[0]<0时与上述类似
注意事项:
参考代码:
#include<iostream> #include<cmath> using namespace std; int main() { int n,q[50]; cin>>n; for(int i=0;i<n;i++)scanf("%d",&q[i]); int t=q[0],num=1; int b=0; if(t<0){ for(int i=1;i<n;i++){ if(q[i]>0&&q[i]<fabs(t)){ b=1;break; } } if(b==1){ for(int i=1;i<n;i++){ if(q[i]>0&&q[i]<fabs(t)) num++; if(q[i]<0&&fabs(q[i])>fabs(t)) num++; } }else num=1; }else{ for(int i=1;i<n;i++){ if(q[i]<0&&fabs(q[i])>t){ b=1;break; } } if(b==1){ for(int i=1;i<n;i++){ if(q[i]<0&&fabs(q[i])>t) num++; if(q[i]>0&&q[i]<t) num++; } }else num=1; } cout<<num; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:635 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:552 |
震宇大神的杀毒软件 (C++代码)浏览:1110 |
C语言考试练习题_排列 (C语言代码)浏览:1315 |
十->二进制转换 (C语言代码)浏览:1291 |
大小写转换 (C语言代码)浏览:840 |
Pascal三角 (C语言代码)浏览:1182 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:694 |
C语言训练-求PI* (C语言代码)浏览:613 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:449 |