排隊打水問題
time limit:1000ms memory limit:65536k
description
有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1、t2………..tn為
整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?
input
第一行n,r (n<=500,r<=75)
第二行為n個人打水所用的時間ti (ti<=100);
output
最少的花費時間
sample input
3 21 2 3
sample output
解題思路:
//思路:用貪心演算法,每次讓用時最少的r個人分別去r個水龍頭去打水
//總時間=每個人的打水時間+等待時間
1 #include2 #include34#define maxnum 50056
int cmp(const
void *a, const
void *b) 710
intmain()
1119 qsort(a,n,sizeof(int
),cmp);
2021
for(i=0;i)
2225
for(i=r;i)
2629
30for(i=0;i)
3134 printf("
%d\n
",sum);
35return
0;
36 }
演算法二:
1 #include2 #include34#define maxnum 50056
int cmp(const
void *a, const
void *b) 710
intmain()
11,b[maxnum]=;
14 scanf("
%d%d
",&n,&r);
15for(i=0;i)
1619 qsort(a,n,sizeof(int
),cmp);
2021 j=0
;22 minsum=0;23
for(i=0;i)
2430 printf("
%d\n
",minsum);
31return
0;
32 }
排隊打水問題
時間限制 1 sec 記憶體限制 256 mb 提交 1 解決 1 提交 狀態 討論版 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?第一行n,r n 500,r 75 第二行為n個人打水所用的時間ti ti...
排隊打水問題
排隊打水問題 normal time limit 1000ms memory limit 65536k total submit 1262 accepted 450 description 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才...
排隊打水問題
有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間為t1,t2,tn為整數且各不相等,應如何安排他們的打水順序才能使他們花費的時間最少?輸入樣例 4 2 4個人打水,2個水龍頭 2 6 4 5 每個人的打水時間 輸出樣例 23 總共花費時間 演算法分析 由於排隊時,越靠前面的計算次數越多,因此越小的...