有一根長度為l厘公尺的細木桿,現有n只螞蟻在細木桿上,這n只螞蟻的初始位置分別距離細木桿的左端第a1、a2、a3、……、an厘公尺處,木桿很細,不能同時通過兩隻螞蟻。開始時,螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調頭,但不會後退,當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走,在這裡我們假定兩隻螞蟻在碰頭之前各自是不會自己掉頭的,現在假設螞蟻們每秒鐘可以走一厘公尺的距離。請你編寫程式,計算一下所有螞蟻都離開木桿的最小時間和最大時間。
本問題有多組測試資料,對於每組測試資料,輸入有兩行,第一行是用空格隔開的兩個正整數l(1<=l<=1000000)和n(1<=n<=100000);第二行是n個正整數a1、a2、a3、……、an(0<=a1,a2,a3,…,an<=l),相鄰兩數之間用空格隔開。
對於每組測試資料,輸出只有一行,用空格隔開的兩個正整數,分別表示所有螞蟻都離開木桿的最小時間和最大時間。
sample input
3
11
sample output
1
2
#include
using
namespace std;
typedef
long
long ll;
int a[
100010];
intmain()
printf
("%d %d\n"
,minans,maxans);}
return0;
}
螞蟻問題(演算法)
有一根27厘公尺的細木桿,在第3厘公尺 7厘公尺 11厘公尺 17厘公尺 23厘公尺這五個位置上各有乙隻螞蟻。木桿很細,不能同時通過乙隻螞蟻。開始時,螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調頭,但不會後退。當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走。假設螞蟻們每秒鐘可以走一厘公尺的距...
3 螞蟻問題
有一根27厘公尺的細木桿,在第3厘公尺 7厘公尺 11厘公尺 17厘公尺 23厘公尺這五個位置上各有乙隻螞蟻。木桿很細,不能同時通過乙隻螞蟻。開始時,螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調頭,但不會後退。當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走。假設螞蟻們每秒鐘可以走一厘公尺的距...
螞蟻路徑問題
木棍上隨機放著n只螞蟻,螞蟻朝向隨機,螞蟻相撞後各自往回爬,設木棍長度為k,螞蟻爬行速度為s,請根據所有螞蟻的初始位置求出全部螞蟻爬出木棍所用時間的最長和最短時間?當我第一眼看到這個題目的時候,我想到的是動態規劃型別的題目吧,然後嘗試用動態規劃的來求解該問題,想了好久,發現行不通,因為 我始終找不到...