描述
一根長度為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厘公尺處 則會從木棒上墜落下去。在某一時刻螞蟻的位置...