問題描述:
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厘公尺這五個位置上各有乙隻螞蟻。木桿很細,不能同時通過乙隻螞蟻。開始時,螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調頭,但不會後退。當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走。假設螞蟻們每秒鐘可以走一厘公尺的距...