排隊接水(貪心演算法)

2021-10-10 17:42:26 字數 739 閱讀 6067

題目描述

有 n 個人在乙個水龍頭前排隊接水,假如每個人接水的時間為 ti,請程式設計找出這 n 個人排隊的一種順序,使得 n 個人的平均等待時間最小。

輸入格式

第一行為乙個整數 n。

第二行 n 個整數,第 i 個整數 ti 表示第i個人的等待時間 ti。

輸出格式

輸出檔案有兩行,第一行為一種平均時間最短的排隊順序;第二行為這種排列方案下的平均等待時間(輸出結果精確到小數點後兩位)。

輸入 

1056121

991000

23433

5599

812輸出32

7814

96105

291.90

#include

using

namespace std;

// 貪心演算法

struct node

;int

main()

for(

int i=

1;ifor(

int i=

1;i<=n;i++)

sum=sum*

1.0/n;

for(

int i=

1;i<=n;i++

) cout

("%.2lf"

,sum)

;return0;

}

排隊接水 貪心演算法 C 實現

有n個人在乙個水龍頭前排隊接水,假如每個人接水的時間為ti,請程式設計找出這n個人排隊的一種順序,使得n個人的平均等待時間最小。共兩行,第一行為n 1 n 1000 第二行分別表示第1個人到第n個人每人的接水時間t1,t2,tn,每個資料之間有1個空格。有兩行,第一行為一種排隊順序,即1到n的一種排...

貪心演算法 51nod排隊接水

n個人一起排隊接水,第i個人需要b i 的時間來接水。1 n 1000 0 b i 1000 同時只能有乙個人接水,正在接水的人和沒有接水的人都需要等待。完成接水的人會立刻消失,不會繼續等待。你可以決定所有人接水的順序,並希望最小化所有人等待時間的總和。收起第一行乙個整數n 接下來n行,每行乙個整數...

貪心演算法6 排隊接水問題

題目描述 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1,t2 tn為整數且各不相同,應如何安排他們的打水順序才能使他們花費的總時間最少?只有一組輸入資料哦。輸入4 2 2 6 4 5 輸出23 所有人的花費時間總和 樣例輸入 4 22 6 4 5 樣例輸出 int a maxn 每個人打水...