設有n個顧客同時等待一項服務,顧客i需要的服務時間為ti,1≤i≤n,共有s處可以提供此項服務。
應如何安排n個顧客的服務次序才能使平均等待時間達到最小?
平均等待時間是n個顧客等待服務時間的總和除以n。
給定的n個顧客需要的服務時間和s的值,程式設計計算最優服務次序。
輸入第一行有2個正整數n和s,表示有n個顧客且有s處可以提供顧客需要的服務。接下來的1行中,有n個正整數,表示n個顧客需要的服務時間。
輸出最小平均等待時間,輸出保留3位小數。
#include
#include
#include
using
namespace std;
vector<
int> a;
//顧客等待的隊列為client,提供服務的視窗s個
double
greedy
(vector<
int> client,
int s)
double t =0;
//計算所有視窗服務時間的總和
for(
int i =
0; i < s; i++
) t +
= sum[i]
; t = t / n;
return t;
}int
main()
;int service;
cin >> service;
int m =
greedy
(a, service)
; cout << m;
}
多處最優服務次序問題
設有n個顧客同時等待一項服務,顧客i需要的服務時間為ti,1 i n,共有s處可以提供此項服務。應如何安排n個顧客的服務次序才能使平均等待時間達到最小?平均等待時間是n個顧客等待服務時間的總和除以n。給定的n個顧客需要的服務時間和s的值,程式設計計算最優服務次序。輸入第一行有2個正整數n和s,表示有...
貪心 多處最優服務次序問題
問題 設有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...