螞蟻感冒 C C

2021-08-15 03:23:05 字數 804 閱讀 9841

長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。 每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺/秒。 當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。 這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。 請你計算,當所有螞蟻都爬離桿子時,有多少只螞蟻患上了感冒。

【資料要求】

第一行輸入乙個整數n (1 < n < 50), 表示螞蟻的總數。接著的一行是n個用空格分開的整數 xi (-100 < xi < 100), xi的絕對值,表示螞蟻離開桿子左邊端點的距離。正值表示頭朝右,負值表示頭朝左,資料中不會出現0值,也不會出現兩隻螞蟻占用同一位置。其中,第乙個資料代表的螞蟻感冒了。

要求輸出1個整數,表示最後感冒螞蟻的數目。

【例】輸入:

5-10 8 -20 12 25

輸出:

3/*題目理解:

根據題目,我們可以認為,螞蟻後健康狀態一致,方向不變,所以就會有兩種情況:

1、一開始與感冒螞蟻前進方向相反的,且在該螞蟻前進方向前方的螞蟻會被影響;

2、存在第一種情況後,與之後感冒的螞蟻前進方向相反且在其前進方向前方的螞蟻也會被影響。

*/#include#includeusing namespace std;

struct node

node[50];

int main()

else

}if(node[0].st==0)//感冒螞蟻向左的情況

}flag=true;

} }else

}if(flag==false)

{ for(i=1;i

HDU 螞蟻感冒

長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺 秒。當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。請你計算,當所有螞蟻都爬離桿子時,有多少只螞蟻患上了...

2014 螞蟻感冒

include include includeusing namespace std struct node node a 100 int comp node a1,node a2 int main sort a,a n,comp 按照螞蟻離開桿子左邊端點的距離從小到大排序 int tmp 0,le...

螞蟻感冒(思維)

x 國的乙個網路使用若干條線路連線若干個節點。節點間的通訊是雙向的。某重要資料報,為了安全起見,必須恰好被 兩次到達目的地。該包可能在任意乙個節點產生,我們需要知道該網路中一共有多少種不同的 路徑。源位址和目標位址可以相同,但中間節點必須不同。如下圖所示的網路。1 2 3 1 是允許的 1 2 1 ...