PTA 銀行排隊問題之單佇列多視窗服務 25分

2021-10-04 20:29:39 字數 1261 閱讀 6358

假設銀行有k個視窗提供服務,視窗前設一條黃線,所有顧客按到達時間在黃線後排成一條長龍。當有視窗空閒時,下一位顧客即去該視窗處理事務。當有多個視窗可選擇時,假設顧客總是選擇編號最小的視窗。

本題要求輸出前來等待服務的n位顧客的平均等待時間、最長等待時間、最後完成時間,並且統計每個視窗服務了多少名顧客。

輸入格式:

輸入第1行給出正整數n(≤1000),為顧客總人數;隨後n行,每行給出一位顧客的到達時間t和事務處理時間p,並且假設輸入資料已經按到達時間先後排好了順序;最後一行給出正整數k(≤10),為開設的營業視窗數。這裡假設每位顧客事務被處理的最長時間為60分鐘。

輸出格式:

在第一行中輸出平均等待時間(輸出到小數點後1位)、最長等待時間、最後完成時間,之間用1個空格分隔,行末不能有多餘空格。

在第二行中按編號遞增順序輸出每個視窗服務了多少名顧客,數字之間用1個空格分隔,行末不能有多餘空格。

輸入樣例:

9020

115161

210105

1033018

3125312

3

輸出樣例:

6.2

176153

1

【程式實現】

#include

using

namespace std;

struct

a[1005];

struct

s[15];

intmain()

min = s[j]

.t < s[min]

.t ? j : min;}if

(j == k)

}printf

("%.1f %d "

,sum*

1.0/n,max)

;int f =0;

for(

int i =

0; i < k; i++

) f = s[i]

.t > f ? s[i]

.t : f;

cout<.count;

for(

int i =

1; i < k; i++

) cout<<

' '<.count;

return0;

}

銀行排隊問題之單視窗「夾塞」版 PTA資料與結構

7 4 銀行排隊問題之單視窗 夾塞 版 30 分 排隊 夾塞 是引起大家強烈不滿的行為,但是這種現象時常存在。在銀行的單視窗排隊問題中,假設銀行只有1個視窗提供服務,所有顧客按到達時間排成一條長龍。當視窗空閒時,下一位顧客即去該視窗處理事務。此時如果已知第 i位顧客與排在後面的第 j位顧客是好朋友,...

銀行排隊問題之單佇列多視窗服務 (25 分)

假設銀行有k個視窗提供服務,視窗前設一條黃線,所有顧客按到達時間在黃線後排成一條長龍。當有視窗空閒時,下一位顧客即去該視窗處理事務。當有多個視窗可選擇時,假設顧客總是選擇編號最小的視窗。本題要求輸出前來等待服務的n位顧客的平均等待時間 最長等待時間 最後完成時間,並且統計每個視窗服務了多少名顧客。輸...

7 1 銀行排隊問題之單佇列多視窗服務(25 分)

假設銀行有k個視窗提供服務,視窗前設一條黃線,所有顧客按到達時間在黃線後排成一條長龍。當有視窗空閒時,下一位顧客即去該視窗處理事務。當有多個視窗可選擇時,假設顧客總是選擇編號最小的視窗。本題要求輸出前來等待服務的n位顧客的平均等待時間 最長等待時間 最後完成時間,並且統計每個視窗服務了多少名顧客。輸...