1. 程式人生 > 其它 >螞蟻感冒(藍橋杯)

螞蟻感冒(藍橋杯)

技術標籤:C演算法


1211. 螞蟻感冒(藍橋杯)


長 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<cmath>
#include<iostream>
using namespace std;
int main()
{
	int n,x,temp;
	int L=0,R=0;cin>>n>>x;
	for(int i=1;i<n;i++)
	{
		cin>>
temp; if(abs(temp)<abs(x)&&temp>0)L++; if(abs(temp)>abs(x)&&temp<0)R++; } if((x<0&&L==0)||(x>0&&R==0))L=R=0; cout<<L+R+1<<endl; return 0; }