問題描述思路:這道題關鍵就是理解題意有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1、t2………..tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?
輸入格式
第一行n,r (n<=500,r<=75)
第二行為n個人打水所用的時間ti (ti<=100);
輸出格式
最少的花費時間
樣例輸入
3 21 2 3
樣例輸出
7
這道題最後要求
花費的時間=每個人接水的時間+每個人排隊等待的時間
確定了這個就很好求了
這個題的貪心策略:
因為每個人的接水時間已經是固定的了,那麼要確定最少的花費時間
就取決於讓每個人排隊等待的時間最少
這樣讓接水時間少的人先接,就能保證後面排隊的人用時最短.
#includeusing namespace std;
int main()
while(1)
for(i=0;i}
min=*min_element(b,b+r);//找到當前接水的人中剩餘最短的時間
for(i=0;itim1+=min*r;
tim2+=min*(n-p);
} printf("%d",tim1+tim2);
return 0;
}
藍橋 排隊打水問題 貪心
題目描述 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?資料規模和約定 其中80 的資料保證n 10 輸入 第一行n,r n 500,r 75 第二行為n個人打水所用的時間ti ti 100 輸出 最少的花費...
演算法提高 排隊打水問題(貪心)
問題描述 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?輸入格式 第一行n,r n 500,r 75 第二行為n個人打水所用的時間ti ti 100 輸出格式 最少的花費時間 樣例輸入 3 21 2 3 樣例...
排隊打水問題
時間限制 1 sec 記憶體限制 256 mb 提交 1 解決 1 提交 狀態 討論版 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?第一行n,r n 500,r 75 第二行為n個人打水所用的時間ti ti...