一根長度為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!」示例1
複製
4複製10 1
90 0
95 -1
98 -1
98
#include#include#includeusing namespace std;
struct ant
else //向左走的螞蟻少,那麼目標螞蟻會向右落下
if (flag)
printf("cannot fall!\n");
else
}//while
return 0;
}//main
墜落的螞蟻 思維 模擬
第一行包含乙個整數表示螞蟻的個數n 2 n 99 之後共有n行,每一行描述乙隻螞蟻的初始狀態。每個初始狀態由兩個整數組成,中間用空格隔開,第乙個數字表示初始位置厘公尺數p 1 p 99 第二個數字表示初始方向,1表示向左,1表示向右,0表示靜止。輸出描述 螞蟻a從開始到墜落的時間。若不會墜落,輸出 ...
牛客 墜落的螞蟻
一根長度為1公尺的木棒上有若干只螞蟻在爬動。它們的速度為每秒一厘公尺或靜止不動,方向只有兩種,向左或者向右。如果兩隻螞蟻碰頭,則它們立即交換速度並繼續爬動。三隻螞蟻碰頭,則兩邊的螞蟻交換速度,中間的螞蟻仍然靜止。如果它們爬到了木棒的邊緣 0或100厘公尺處 則會從木棒上墜落下去。在某一時刻螞蟻的位置...
poj 1003 墜落的螞蟻
描述 一根長度為1公尺的木棒上有若干只螞蟻在爬動。它們的速度為每秒一厘公尺或靜止不動,方向只有兩種,向左或者向右。如果兩隻螞蟻碰頭,則它們立即交換速度並繼續爬動。三隻螞蟻碰頭,則兩邊的螞蟻交換速度,中間的螞蟻仍然靜止。如果它們爬到了木棒的邊緣 0或100厘公尺處 則會從木棒上墜落下去。在某一時刻螞蟻...