排隊打水問題

2021-09-21 15:11:26 字數 1286 閱讀 5157

排隊打水問題

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 #include3

4#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 #include3

4#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 總共花費時間 演算法分析 由於排隊時,越靠前面的計算次數越多,因此越小的...