分析:
(1)因為只計算數量,所以螞蟻是掉頭還是直接向前走對本題沒有影響
(2)如果感冒的螞蟻方向向左:
在它左邊的螞蟻:如果向右,則會感染;如果向左則不會感染
在它右邊的螞蟻:如果向右,則不會感染
如果向左:(1)如果感冒的那只螞蟻左邊有向右的螞蟻,他會掉頭,則右邊向左的螞蟻會感冒
(2)如果感冒的那只螞蟻左邊沒有向右的螞蟻,感冒的這只螞蟻會一直向前走,右邊的所有每乙隻螞蟻不會感冒
(3)同理該螞蟻向右
總結:找出左邊向右,右邊向左的螞蟻數量,若該螞蟻向右判斷右邊是否有向左的螞蟻,如果該螞蟻向左,判斷左邊是否有向右的螞蟻
#include#includeusing namespace std;
#define max 50
int ant[max];
int main()
int h=abs(ant[0]);
for (int i=1;i0&&abs(ant[i])h)
right++;
} if ((left==0&&ant[0]>0)||(right==0&&ant[0]<0))
cout<<1<
藍橋杯歷屆試題 螞蟻感冒
問題描述 長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺 秒。當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。請你計算,當所有螞蟻都爬離桿子時,有多少只...
藍橋杯 歷屆試題 螞蟻感冒
這道題分析了一下得出的結論就是最後感冒的螞蟻數量等於絕對值比第乙個感冒的螞蟻的位置大的且方向向左,還有就是比第乙個感冒的螞蟻的位置小的且方向向右。這裡我們很明顯可以發現2個螞蟻碰面之後並沒有什麼影響,2個速度相同的螞蟻同時掉頭不如直接看成速度相同的螞蟻繼續向前走 include include in...
歷屆試題 螞蟻感冒 藍橋杯
問題描述 長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺 秒。當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。請你計算,當所有螞蟻都爬離桿子時,有多少只...