藍橋杯 掃地機械人

2021-10-22 14:29:07 字數 1295 閱讀 8331

小明公司的辦公區有一條長長的走廊,由 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則達到吵鬧的...