博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1085: 蚂蚁感冒
阅读量:5052 次
发布时间:2019-06-12

本文共 1858 字,大约阅读时间需要 6 分钟。

1085: 蚂蚁感冒

时间限制: 1 Sec  内存限制: 128 MB
提交: 71  解决: 28
[][][]

题目描述

长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。

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

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

这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时。

会把感冒传染给碰到的蚂蚁。

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

 

输入

输入数据有多组,每组占两行,第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。

接着的一行是n个用空格分开的整数 Xi (-100 < Xi < 100), Xi的绝对值,表示蚂蚁离开杆子左边端点的距离。正值表示头朝右,负值表示头朝左,数据中不会出现0值,也不会出现两只蚂蚁占用同一位置。其中,第一个数据代表的蚂蚁感冒了。

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

输出

对于每组输入数据,输出一行。

样例输入

35 -2 85-10 8 -20 12 25

样例输出

13
1 /*两只蚂蚁相撞同时掉头可以看作穿过,第一只蚂蚁不管方向朝哪个方向,  2 它右边的蚂蚁只要向左走就可能碰撞感染(特殊情况除外),它左边的 3 蚂蚁只要朝右边走也可能被感染,可以得出公式 4 num = 左边蚂蚁向右走的数量+右边蚂蚁向左走的数量+第一只蚂蚁本身 5 特殊情况: 6 1.当第一只蚂蚁向左走的时候如果第一只蚂蚁左边没有向右爬行的蚂蚁, 7 那么不管第一只蚂蚁右边有多少向左爬行的,因爬行的速度相同则右边的蚂蚁永远不可能被感染 8 2.当第一只蚂蚁向右走的时候,如果第一只蚂蚁右边没有向左爬行的蚂蚁, 9 那么同样第一只蚂蚁左边也永远不可能感染*/10 #include
11 12 using namespace std;13 14 int position[51];//记录每一个蚂蚁的初始位置 15 int direction[51];//0表示向左,1表示向右 16 17 int main(){18 int n;19 while(cin>>n){20 int index;21 for(int i=1;i<=n;i++){
//处理输入数据进入数组 22 cin>>index;23 if(index>0){24 position[i]=index;25 direction[i]=1;26 }27 else{28 position[i]=-index;29 direction[i]=0;30 }31 }32 int p=position[1];33 int d=direction[1];34 if(d==1){
//生病的蚂蚁往右爬,找出所有在其右边往左爬的,和在其左边往右爬的数量 35 int DLnum=0,DRnum=0;36 for(int i=2;i<=n;i++){37 //右边往左爬38 if(position[i]>p&&direction[i]==0){39 DLnum++;40 }41 //左边往右爬42 else if(position[i]
p&&direction[i]==0){58 DLnum++;59 }60 //左边往右爬61 else if(position[i]

 

转载于:https://www.cnblogs.com/tangyimin/p/10546834.html

你可能感兴趣的文章
●数组及应用举例
查看>>
个人作业2——英语学习APP案例分析
查看>>
Oracle中的数据字典技术初级入门
查看>>
Java Build Practice 1:Ant
查看>>
3.RxJava详解
查看>>
【小波变换】STL版 一维离散小波变换(DWT)库,完全按matlab的wavelet toolbox 的API实现的...
查看>>
作业六:小学生四则运算之NABCD模型与产品Backlog。
查看>>
__int128的实现
查看>>
R 读取clipboard内容 (MAC)
查看>>
Problem - 1118B - Codeforces(Tanya and Candies)
查看>>
jdk1.8 api 下载
查看>>
svn 图标不显示
查看>>
getElement的几中属性介绍
查看>>
iOS 使用Quartz 2D画虚线 【转】
查看>>
平面最接近点对
查看>>
HTML列表,表格与媒体元素
查看>>
PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点?
查看>>
ApplicationDelegate里的方法
查看>>
C#中给WebClient添加代理Proxy
查看>>
py 的 第 10 天
查看>>