演算法提高 排隊打水問題(貪心)

2021-09-14 00:50:42 字數 629 閱讀 5333

問題描述  

有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1、t2…………tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?

輸入格式  

第一行n,r (n<=500,r<=75)  

第二行為n個人打水所用的時間ti (ti<=100);

輸出格式  

最少的花費時間

樣例輸入

3 21 2 3

樣例輸出

7資料規模和約定  其中80%的資料保證n<=10

考點:貪心

分析:最少花費時間是從一開始算,最少等待時間+自己打水時間

對每個人打水時間從小到大排序(x陣列),等待時間遍歷n個人從小到大排序(d陣列),這樣確定了一定是最少時間。

每次sum+=d[0] (最少的等待時間)+自己打水時間

d+=x[i] 加上這個人接水的時間 從小到大排序,下個人選取d陣列最小的等待時間…以此類推

**

#include#includeusing namespace std;

int d[505],x[505];

int main()

cout<} return 0;

} ```

演算法提高 排隊打水問題

問題描述 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?輸入格式 第一行n,r n 500,r 75 第二行為n個人打水所用的時間ti ti 100 輸出格式 最少的花費時間 樣例輸入 3 21 2 3 樣例...

演算法提高 排隊打水問題

問題描述 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?輸入格式 第一行n,r n 500,r 75 第二行為n個人打水所用的時間ti ti 100 輸出格式 最少的花費時間 樣例輸入 3 21 2 3 樣例...

藍橋杯 演算法提高VIP 排隊打水問題 貪心

題目描述 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?資料規模和約定 其中80 的資料保證n 10 如下 include define ll long long using namespace std co...