問題描述
小明公司的辦公區有一條長長的走廊,由 n 個方格區域組成,如下圖所示。
走廊內部署了 k 臺掃地機械人,其中第 i 臺在第 ai 個方格區域中。
已知掃地機械人每分鐘可以移動到左右相鄰的方格中,並將該區域清掃乾淨。
請你編寫乙個程式,計算每台機械人的清掃路線,使得
它們最終都返回出發方格,
每個方格區域都至少被清掃一遍,
從機械人開始行動到最後一台機械人歸位花費的時間最少。
注意多台機械人可以同時清掃同一方塊區域,它們不會互相影響。
輸出最少花費的時間。
在上圖所示的例子中,最少花費時間是 6。
輸入格式
第一行包含兩個整數 n 和 k。
接下來 k 行,每行乙個整數 ai 。
輸出格式
輸出乙個整數表示答案。
樣例輸入
10 352
10樣例輸出
6資料範圍
對於 30% 的評測用例,1≤k
101 ≤ k < n ≤ 101≤k
10對於 60% 的評測用例,1≤k
1000
1 ≤ k < n ≤ 10001≤k
1000
對於所有評測用例,1≤k
100000,1
≤ai≤
n1 ≤ k < n ≤ 100000,1 ≤ ai ≤ n1≤k
1000
00,1
≤ai≤
n題解
二分:
#include
#include
using
namespace std;
const
int n =
100010
;int n, k;
int p[n]
;bool
check
(int x)
}return r >= n;
// 判斷是否能掃完整個區域
}int
main()
cout <<
2* l -
2<< endl;
// 花費時間 = 2 × (掃地範圍 - 1)
return0;
}藍橋杯c/c++組省賽歷年題
掃地機械人(第十屆藍橋杯研究生組)
如圖,在一塊長為n的方格地板上,放置k個掃地機械人 圖中黑點 每個機械人都可以左右移動,且互不干擾,掃完地後又都回到原位置,為公平起見,每個機械人的工作量盡可能相同,求移動步數最多的機械人移動的步數。題目大概是這個意思,歡迎來更正 輸入格式 第一行輸入兩個整數 n k 第二行輸入k個整數,表示掃地機...
藍橋杯 掃地機械人
小明公司的辦公區有一條長長的走廊,由 nn 個方格區域組成,如下圖所示。走廊內部署了 kk 臺掃地機械人,其中第 ii 臺在第 a ia i個方格區域中。已知掃地機械人每分鐘可以移動到左右相鄰的方格中,並將該區域清掃乾淨。請你編寫乙個程式,計算每台機械人的清掃路線,使得它們最終都返回出發方格,每個方...
掃地機械人黑色耐髒嗎 如何選購掃地機械人?
我家全部打掃一次,僅僅只需要50分鐘左右,也就是說,這個掃地機械人充滿電可以將我家打掃四遍。deebot t5有乙個斷點續掃功能,就算是在工作過程中因為電量過低而不得不返回充電樁充電時,在充滿電後又會開始從之前的斷點區域開始繼續打掃,這樣的好處是不會出現遺漏或者重複清掃,從而大大提高了清掃效率。這台...