螞蟻爬行問題及其改編

2021-07-16 06:38:25 字數 1352 閱讀 5402

問題描述:

n只螞蟻以每秒1cm的速度在長為lcm的竹竿上爬行。當螞蟻看到竿子的端點時就會落下來。由於竿子太細,兩隻螞蟻相遇時,它們不能交錯通過,只能各自反方向爬行。對於每只螞蟻,我們只知道它離竿子最左端的距離為x

i,但不知道它當前的朝向。請計算所有螞蟻落下竿子的最短時間和最長時間。

限制條件:

1<=l<=106

1<=n<=106

0<=x

i<=l

樣例:輸入

l=10

n=3 x=

輸出min=4

max=8

對於最短時間,我們可以考慮當所有螞蟻都向最近的端點移動時,這時不會發生兩隻螞蟻相碰的情況,也就是時間最短的情況。

對於最長時間,你也許會想螞蟻有向左向右兩種情況,相碰之後又向相反的方向移動,n只螞蟻就有2

n種可能,要考慮的情況就會特別多,而隨n的增大急劇增加。但你仔細想一下兩隻螞蟻相遇時的情況(如下圖)會發現,由於相遇時相互反向移動且速度相同,我們可以認為是依原方向移動。

如果你是高中生,一定會立馬想到物理學中的動能定理……

改編題目:

在乙個長為33厘公尺的光滑凹軌上,在第3厘公尺、第6厘公尺、第19厘公尺、第22 厘公尺、第26厘公尺處各有乙個鋼珠,凹軌很細,不能同時通過兩個鋼珠,開始時,鋼珠運動方向是任意的。兩個鋼珠相撞後,以相同速度反向運動。假設所有鋼珠初 始速度為每秒運動1厘公尺,那麼所有鋼珠離開凹軌的最長可能時間是(a)   a. 30   b.26  c.38  d.33

螞蟻爬行問題

問題描述 n只螞蟻以每秒1cm的速度在長為lcm的竹竿上爬行。當螞蟻看到竿子的端點時就會落下來。由於竿子太細,兩隻螞蟻相遇時,它們不能交錯通過,只能各自反方向爬行。對於每只螞蟻,我們只知道它離竿子最左端的距離為xi,但不知道它當前的朝向。請計算所有螞蟻落下竿子的最短時間和最長時間。對於最短時間,我們...

螞蟻問題(演算法)

有一根27厘公尺的細木桿,在第3厘公尺 7厘公尺 11厘公尺 17厘公尺 23厘公尺這五個位置上各有乙隻螞蟻。木桿很細,不能同時通過乙隻螞蟻。開始時,螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調頭,但不會後退。當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走。假設螞蟻們每秒鐘可以走一厘公尺的距...

3 螞蟻問題

有一根27厘公尺的細木桿,在第3厘公尺 7厘公尺 11厘公尺 17厘公尺 23厘公尺這五個位置上各有乙隻螞蟻。木桿很細,不能同時通過乙隻螞蟻。開始時,螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調頭,但不會後退。當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走。假設螞蟻們每秒鐘可以走一厘公尺的距...