poj 1003 墜落的螞蟻

2021-08-26 17:43:36 字數 911 閱讀 4124

描述

一根長度為1公尺的木棒上有若干只螞蟻在爬動。它們的速度為每秒一厘公尺或靜止不動,方向只有兩種,向左或者向右。如果兩隻螞蟻碰頭,則它們立即交換速度並繼續爬動。三隻螞蟻碰頭,則兩邊的螞蟻交換速度,中間的螞蟻仍然靜止。如果它們爬到了木棒的邊緣(0或100厘公尺處)則會從木棒上墜落下去。在某一時刻螞蟻的位置各不相同且均在整數厘公尺處(即1,2,3,…99厘公尺),有且只有乙隻螞蟻a速度為0,其他螞蟻均在向左或向右爬動。給出該時刻木棒上的所有螞蟻位置和初始速度,找出螞蟻a從此時刻到墜落所需要的時間。

輸入第一行包含乙個整數表示螞蟻的個數n(2<=n<=99),之後共有n行,每一行描述乙隻螞蟻的初始狀態。每個初始狀態由兩個整數組成,中間用空格隔開,第乙個數字表示初始位置厘公尺數p(1<=p<=99),第二個數字表示初始方向,-1表示向左,1表示向右,0表示靜止。

輸出螞蟻a從開始到墜落的時間。若不會墜落,輸出「cannot fall!」

樣例輸入

4

10 1

90 0

95 -1

98 -1

樣例輸出

98
題目分析:

可以發現,左邊向左爬的螞蟻和右邊向右爬的螞蟻對結果沒有影響,如果左邊多於右邊螞蟻,螞蟻最終會從右邊墜落,且相於靜止螞蟻從右邊第一只多於左邊螞蟻開始爬然後墜落,右邊多於左邊同理。相等時不會墜落。

#include#include#includeusing namespace std;

int x[2][110];

int a[110];

int main()

int x1=0,x2=0;

for(int i=1;i<=100;i++)

}if(x1==x2)

else if(x1>x2)

else

} }

墜落的螞蟻

一根長度為1公尺的木棒上有若干只螞蟻在爬動。它們的速度為每秒一厘公尺或靜止不動,方向只有兩種,向左或者向右。如果兩隻螞蟻碰頭,則它們立即交換速度並繼續爬動。三隻螞蟻碰頭,則兩邊的螞蟻交換速度,中間的螞蟻仍然靜止。如果它們爬到了木棒的邊緣 0或100厘公尺處 則會從木棒上墜落下去。在某一時刻螞蟻的位置...

墜落的螞蟻 思維 模擬

第一行包含乙個整數表示螞蟻的個數n 2 n 99 之後共有n行,每一行描述乙隻螞蟻的初始狀態。每個初始狀態由兩個整數組成,中間用空格隔開,第乙個數字表示初始位置厘公尺數p 1 p 99 第二個數字表示初始方向,1表示向左,1表示向右,0表示靜止。輸出描述 螞蟻a從開始到墜落的時間。若不會墜落,輸出 ...

牛客 墜落的螞蟻

一根長度為1公尺的木棒上有若干只螞蟻在爬動。它們的速度為每秒一厘公尺或靜止不動,方向只有兩種,向左或者向右。如果兩隻螞蟻碰頭,則它們立即交換速度並繼續爬動。三隻螞蟻碰頭,則兩邊的螞蟻交換速度,中間的螞蟻仍然靜止。如果它們爬到了木棒的邊緣 0或100厘公尺處 則會從木棒上墜落下去。在某一時刻螞蟻的位置...