小明公司的辦公區有一條長長的走廊,由 nn 個方格區域組成,如下圖所示。
走廊內部署了 kk 臺掃地機械人,其中第 ii 臺在第 a_ia i個方格區域中。已知掃地機械人每分鐘可以移動到左右相鄰的方格中,並將該區域清掃乾淨。
請你編寫乙個程式,計算每台機械人的清掃路線,使得它們最終都返回出發方格,每個方格區域都至少被清掃一遍,從機械人開始行動到最後一台機械人歸位花費的時間最少。
注意多台機械人可以同時清掃同一方塊區域,它們不會互相影響。
輸出最少花費的時間。 在上圖所示的例子中,最少花費時間是 6。第一台路線:2-1-2-3-4-3-2,清 掃了 1、2、3、4 號區域。第二台路線 5-6-7-6-5,清掃了 5、6、7。第三台路線 10-9-8-9-10,清掃了 8、9 和 10。
首先對陣列進行排序,然後二分搜尋,因為要滿足最後回到原點,所以2*走過的格數-2=時間
,得出實際走過的格數t=(x+2)/2
,x為二分搜尋查詢的最短時間。
首先判斷向前延伸:如果從當前格仔出發向前走不能走到sum說明無法滿足條件。
若滿足則接著向後延伸:
如果當前機械人的位置已經走過,那麼sum=a[i]+t-1;
距離為以機械人位置開始向後走t-1(減去當前所在的位置);
如果沒有走到當前機械人位置,那麼sum+=t;
直接累加即可。
**如下:
#include
#include
using namespace std;
int n,k;
int a[
100001];
bool c
(int x)
else sum+
=t;}
else
return false;
if(sum>=n)
return true;
}return false;
}void
solve()
sort
(a,a+k)
;int l=
0,r=
100001
;while
(l+1
cout<
}int
main()
掃地機械人黑色耐髒嗎 如何選購掃地機械人?
我家全部打掃一次,僅僅只需要50分鐘左右,也就是說,這個掃地機械人充滿電可以將我家打掃四遍。deebot t5有乙個斷點續掃功能,就算是在工作過程中因為電量過低而不得不返回充電樁充電時,在充滿電後又會開始從之前的斷點區域開始繼續打掃,這樣的好處是不會出現遺漏或者重複清掃,從而大大提高了清掃效率。這台...
掃地機械人石頭爬坡 智慧型掃地機械人爬坡能力分析
家裡有了掃地機械人,不用再擔心家裡的地面是否乾淨了。雖然有了掃地機,但是針對不同品牌掃地機械人,由於它的設計上各不相同,所以在掃地機工作時針對不同的地面環境,爬坡能力也會不盡相同。智慧型掃地機械人為什麼需要爬坡?掃地機械人一般只能在同一水平面進行清掃,但是各種不同的地面環境,決定了掃地機械人必須具備...
掃地機械人噪音響 智慧型掃地機械人的潤滑方案
隨著生活品質的提高,智慧型掃地機械人已走進了家庭,它的存在幫我們進一步的減少了家務的用時,提高了生活效率。掃地機械人運轉過程中免不了有工作噪音,靜音是衡量智慧型掃地機械人的重要效能,也使用者選擇掃地機械人的一大指標。一般來說30db以下適合睡覺,60db為普通室內談話時的音量,而70db則達到吵鬧的...