貪心演算法 多處最優服務次序問題

2021-10-09 04:16:33 字數 768 閱讀 8077

問題描述:

設有n 個顧客同時等待一項服務。每個顧客需要服務一定時間。共有s 處可以

提供此項服務。應如何安排n 個顧客的服務次序才能使平均等待時間達到最小?平均等待時

間是n個顧客等待服務時間的總和除以n。

程式設計任務:

對於給定的n個顧客需要的服務時間和s的值,程式設計計算最優服務次序,先看下**:

#include#includeusing namespace std;

#define n 10 //顧客數

#define s 2 //服務視窗數

int main()

; int i;

int sum = 0;

int sub[s] = ; //服務視窗

sort(a,a + n);

for(i = 0;i < n;i ++)

printf("%.2f",sum * 1.0 / n);

return 0;

}

執行列印:336.00   

看個圖:

0號視窗服務1,33,56....

1號視窗服務12,55,99...

對應0號視窗,當服務1時,後面幾位顧客需要等待的時間就是前面幾位顧客需要的服務時間的累加,前面有多少顧客就需要累加多少次。1號視窗也是一樣。

貪心演算法/多處最優服務次序問題.txt

貪心 多處最優服務次序問題

問題 設有n個顧客同時等待一項服務,顧客i需要的服務時間為ti 1 i n 共有s處可以提供此項服務,應如何安排n個顧客需要的服務次序才能使平均等待時間達到最小?平均等待時間等於n個顧客等待服務的總時間除以n。輸入 第一行兩個正整數n和s表示n個顧客s處服務,接下來n個顧客需要的服務時間 輸出 平均...

多處最優服務次序問題(貪心)

問題描述 設有n個顧客同時等待一項服務。顧客 i 需要的服務時間是 ti,共有s處可以提供此項服務。應如何安排n個顧客的服務次序,才能使平均等待時間達到最小?平均等待時間使n個顧客等待服務的總時間的和除以n。輸入 10 2 56 12 1 99 1000 234 33 55 99 812 輸出 33...

多處最優服務次序問題(貪心)

問題描述 設有n個顧客等待服務,有k處可以提供這個服務,確定最優服務次序,讓顧客平均等待時間最少,這個平均等待時間就是顧客們等待的總和 n。input 第一行輸入n,k,表示n名顧客,k處服務店 第二行分別輸入n個整數,表示每名顧客所需要的服務時間。out輸出最少平均等待時間 輸入樣例10 2 56...