有 n個人在乙個水龍頭前排隊接水,假如每個人接水的時間為 ti,請程式設計找出這 n個人排隊的一種順序,使得 n 個人的平均等待時間最小。
第一行為乙個整數 n。
第二行 n 個整數,第 i 個整數 ti。
表示第 ii 個人的等待時間 ti。
輸出檔案有兩行,第一行為一種平均時間最短的排隊順序;第二行為這種排列方案下的平均等待時間(輸出結果精確到小數點後兩位)。
1056 12 1 99 1000 234 33 55 99 812
3 2 7 8 1 4 9 6 10 5
291.90
看著難,其實水。
# include
# include
int w[
100000001
],o[
100000001];
void
qsort
(int l,
int r)
//定義快排
}while
(i<=j);if
(lqsort
(l,j);if
(iqsort
(i,r);}
intmain()
qsort(1
,n);
//呼叫快排
for(i=n;i>=
1;i--
)printf
("\n");
printf
("%.2f"
,j*1.0
/n);
//輸出
}
刷題路 排隊接水
貪心。有 n 個人在乙個水龍頭前排隊接水,假如每個人接水的時間為ti,請程式設計找出這 n 個人排隊的一種順序,使得 n 個人的平均等待時間最小。第一行為乙個整數 n。第二行 n 個整數,第 i 個整數 ti 表示第 i 個人的等待時間 ti。輸出檔案有兩行,第一行為一種平均時間最短的排隊順序 第二...
刷題 排隊接水(水題妙解)
題面 n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1,t2,tn為整數且各 不相等,應如何安排他們的打水順序才能使他們花費的時間最少?輸入 第1行,兩個整數n 1 n 500 和r 1 r 100 第2行,n個正整數t1,t2,tn,1 ti 1000 表示每個人裝滿水桶的時間。輸出 1行,乙...
排隊接水(貪心)
題目描述 有n個人在乙個水龍頭前排隊接水,假如每個人接水的時間為ti,請程式設計找出這n個人排隊的一種順序,使得n個人的平均等待時間最小。冒泡泡 第一行 n n 1000 第二行 第乙個人到第n個人每人的接水時間t1,t2,tn,每個資料之間有乙個空格 第一行 一種排隊順序,即1到n的一種排列 第二...