假設銀行有k個視窗提供服務,視窗前設一條黃線,所有顧客按到達時間在黃線後排成一條長龍。當有視窗空閒時,下一位顧客即去該視窗處理事務。當有多個視窗可選擇時,假設顧客總是選擇編號最小的視窗。
本題要求輸出前來等待服務的n位顧客的平均等待時間、最長等待時間、最後完成時間,並且統計每個視窗服務了多少名顧客。
輸入第1行給出正整數n(≤1000),為顧客總人數;隨後n行,每行給出一位顧客的到達時間t
和事務處理時間p
,並且假設輸入資料已經按到達時間先後排好了順序;最後一行給出正整數k(≤10),為開設的營業視窗數。這裡假設每位顧客事務被處理的最長時間為60分鐘。
在第一行中輸出平均等待時間(輸出到小數點後1位)、最長等待時間、最後完成時間,之間用1個空格分隔,行末不能有多餘空格。
在第二行中按編號遞增順序輸出每個視窗服務了多少名顧客,數字之間用1個空格分隔,行末不能有多餘空格。
9
0 20
1 15
1 61
2 10
10 5
10 3
30 18
31 25
31 2
3
6.2 17 61
5 3 1
#includeusing namespace std;
struct customers ;
int counter_time[10] = ;
int counter_serve[10] = ;
int main()
cin>>k;
for(int i = 0; i < n; i++)
if(customers[i].arrived_time >= counter_time[choose]) else
counter_serve[choose]++;
}double sum = 0;
double longest_wait = 0;
double longest_complete = 0;
for(int i = 0; i < n; i++)
for(int i = 0; i < k; i++)
printf("%.1lf ",sum/n);
cout
}
PTA 銀行排隊問題之單佇列多視窗服務 25分
假設銀行有k個視窗提供服務,視窗前設一條黃線,所有顧客按到達時間在黃線後排成一條長龍。當有視窗空閒時,下一位顧客即去該視窗處理事務。當有多個視窗可選擇時,假設顧客總是選擇編號最小的視窗。本題要求輸出前來等待服務的n位顧客的平均等待時間 最長等待時間 最後完成時間,並且統計每個視窗服務了多少名顧客。輸...
7 1 銀行排隊問題之單佇列多視窗服務(25 分)
假設銀行有k個視窗提供服務,視窗前設一條黃線,所有顧客按到達時間在黃線後排成一條長龍。當有視窗空閒時,下一位顧客即去該視窗處理事務。當有多個視窗可選擇時,假設顧客總是選擇編號最小的視窗。本題要求輸出前來等待服務的n位顧客的平均等待時間 最長等待時間 最後完成時間,並且統計每個視窗服務了多少名顧客。輸...
ds佇列 銀行單佇列多視窗模擬
題目 假設銀行有k個視窗提供服務,視窗前設一條黃線,所有顧客按到達時間在黃線後排成一條長龍。當有視窗空閒時,下一位顧客即去該視窗處理事務。當有多個視窗可選擇時,假設顧客總是選擇編號最小的視窗。本題要求輸出前來等待服務的n位顧客的平均等待時間 最長等待時間 最後完成時間。輸入 輸入第1行給出正整數n ...