[螞蟻感冒](
description
長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。
每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺/秒。
當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。
這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。
請你計算,當所有螞蟻都爬離桿子時,有多少只螞蟻患上了感冒。
input
第一行輸入乙個整數n (1output
要求輸出1個整數,表示最後感冒螞蟻的數目。
samples
input
35-
28
output
1input
5-10
8-2012
25
output
3第一只螞蟻是感冒的,其次,兩隻螞蟻在相遇的時候,相互掉頭,這時候可以看做是繼續向前走,當成穿過對面的螞蟻,這樣的結果是等效的。
因為所有的螞蟻速度都是相等的,所以之後方向相反的情況才會相遇並且傳染。
那麼來說,如果第一號螞蟻如果是向右走的,那麼他右面的螞蟻中向左走的就會被感染,此時要加上這只螞蟻右面的螞蟻中向左走的螞蟻數量;如果一號螞蟻是向左走的,那麼在這只螞蟻左面的螞蟻中向右走的螞蟻就要被感染,此時數量要加上在這只螞蟻左面並且向右走的螞蟻的數量。
特殊的情況是如果上面的兩種情況中,有一種右面沒有螞蟻出現,此時就是這螞蟻自己感冒,輸出 1
main_code
int n=read;
for(
int i=
1;i<=n;i++
) a[i]
=read;
int t1=
0,t2=0;
for(
int i=
2;i<=n;i++)if
(a[1
]<
0&& t1 ==
0) cout<<
1
if(a[1]
>
0&& t2 ==
0) cout<<
1
藍橋杯 螞蟻感冒
時間限制 1 sec 記憶體限制 128 mb 長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺 秒。當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。請你...
藍橋杯 螞蟻感冒
問題描述 長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺 秒。當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。請你計算,當所有螞蟻都爬離桿子時,有多少只...
藍橋杯 螞蟻感冒
長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺 秒。當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。請你計算,當所有螞蟻都爬離桿子時,有多少只螞蟻患上了...