墜落的螞蟻

2021-09-02 22:20:47 字數 774 閱讀 1823

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