长 100 厘米的细长直杆子上有 n 只蚂蚁。

它们的头有的朝左,有的朝右。

每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒。

当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。

这些蚂蚁中,有 1 只蚂蚁感冒了。

并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。

请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。

输入格式

第一行输入一个整数 n, 表示蚂蚁的总数。

接着的一行是 n 个用空格分开的整数 Xi, Xi 的绝对值表示蚂蚁离开杆子左边端点的距离。

正值表示头朝右,负值表示头朝左,数据中不会出现 0 值,也不会出现两只蚂蚁占用同一位置。

其中,第一个数据代表的蚂蚁感冒了。

输出格式

输出1个整数,表示最后感冒蚂蚁的数目。

数据范围

1<n<50,

0<|Xi|<100

输入样例1:

3
5 -2 8

输出样例1:

1

输入样例2:

5
-10 8 -20 12 25

输出样例2:

3

核心思想:虽然题目给的意思蚂蚁相撞之后会掉头,但由于蚂蚁相撞之后的速度和状态都一样,因此可以看作穿过去了,这样之后就很好分析了,如下图

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=55;
int arr[N];
int main()
{int n;cin>>n;for(int i=0;i<n;i++) cin>>arr[i];int right=0,left=0;//分别表示在感染蚂蚁的左边往右走 和 在右边往左走的蚂蚁数量for(int i=1;i<n;i++){if(abs(arr[i])<abs(arr[0])&&arr[i]>0) left++;//abs函数表示取绝对值else if(abs(arr[i])>abs(arr[0])&&arr[i]<0) right++;}if((arr[0]<0&&left==0)||(arr[0]>0&&right==0)) cout<<"1"<<endl;else cout<<left+right+1<<endl;return 0;
}

蚂蚁感冒(简单数论)相关推荐

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

    蚂蚁感冒 Description 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行 ...

  2. 2014年第五届蓝桥杯 - 省赛 - C/C++大学A组 - G. 蚂蚁感冒

    标题:蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有 ...

  3. [蓝桥杯][历届试题]蚂蚁感冒(模拟)

    题目描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂 ...

  4. java 蓝桥杯 蚂蚁感冒

    问题描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂 ...

  5. 练——C语言练习蚂蚁感冒

    提示:自己做的可能复杂,请各位大佬指正 文章目录 一.题目 二.思路 三.实现的过程 1.主函数 2.初始感冒蚂蚁的设置 3.感冒蚂蚁的判定 总结 一.题目 长100厘米的细长直杆子上有n只蚂蚁.它们 ...

  6. 蚂蚁感冒 (acwing)

    文章目录 蚂蚁感冒 思路 AC代码 蚂蚁感冒 长 100 厘米的细长直杆子上有 n 只蚂蚁. 它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒. 当两只蚂蚁碰面时,它们 ...

  7. 蓝桥杯 1454 蚂蚁感冒 (找规律)

    题目描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂 ...

  8. nyoj990蚂蚁感冒

    //其实遇到返回和遇到穿过是一样的 //既然要相遇穿过,那与蚂蚁方向相反且在它前面的就会感染 //而前面那些又会感染与之方向相反且在它前面的(与原先蚂蚁同方向,在它后面的) //注意特殊情况  #in ...

  9. NYOJ 990 蚂蚁感冒

    蚂蚁感冒 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/ ...

最新文章

  1. R语言配对图可视化:配对图(pair plot)可视化(根据分类变量的值为散点图上的数据点添加颜色和形状、Add color and shape by variables)
  2. php判断一个数是否是回文数,每周一道算法题001:回文数
  3. “外部质量”还是“内部质量”
  4. java添加时间,如何通过Java中的addHours()方法添加时间
  5. 嵌入式linux配置qt,基于qt的嵌入式Linux开发环境搭建
  6. codeforces gym-101741 Subsequence Sum Queries 分治+离线
  7. 《大数据》2015年第3期“网络大数据专题”——网络表示学习(下)
  8. oracle安全性规则,[ORACLE ]安全性
  9. 完美解决wordpress邮件链接无效的问题
  10. 启用文件系统缓存,提高Tuxera NTFS运作性能
  11. HashTable VS Dictionary
  12. CAD中 OLE不能旋转_【设计图文】大空间旋转喷头零件的数控加工工艺设计、编程与加工(有全套cad图+程序+中英文翻译)...
  13. 杭电acm 4282 A very hard mathematic problem
  14. python脚本编写测试用例
  15. HashSet判断重复项原理
  16. 对随机数去重并进行排序 java
  17. Using the Scheduler Application - JDE Scheduler Job 原理
  18. JS手写IndexOf
  19. 项目管理小小知识点总结
  20. 星巴克公司员工股权激励机制

热门文章

  1. Java删除字符串的头尾空白符
  2. TPS61088RHLR升压芯片
  3. 我和silly的谈话心得
  4. 深度linux运行速度慢,Deepin(深度操作系统)解决老电脑卡顿,慢等问题
  5. 分享一下基于autojs4的WX加好友
  6. linux cnc制作视频教程,linuxcnc编译
  7. WEB服务器和中间件
  8. 互联网时代身份证识别让商家更好服务客户
  9. 陶瓷材料在芯片管壳中的封装工艺流程-应用于激光管壳封装制造
  10. Google开发者账号被封丨app关联下架,问题到底出在哪?