A1017銀行視窗排隊(沒做出來,重要)

2021-10-08 21:11:02 字數 1139 閱讀 1397

搞不清楚的點在於視窗的選擇

可以把時間轉換為int型別的數自,然後排序,需要的資料就有了,但是如何選擇視窗沒搞明白。

借鑑柳神的思路

構建結構體客戶node,裡面come為到達時間和time為需要服務的時長。先將所有滿足條件的(到來時間點在17點之前的)客戶放入陣列,陣列的長度就是需要服務的客戶的個數。window陣列表示某個視窗的結束時間,每個客戶到來時,選擇最早結束時間的視窗,如果最早結束時間比他還早,那麼他一來就能被服務,更新window的值;如果最早結束時間比他還晚,則等待,累加等待時間,然後更新window的值。

#include

#include

#include

using

namespace std;

struct nodetempcustomer;

//false

bool

cmp1

(node a,node b)

intmain()

;//false

custom.

push_back

(tempcustomer);}

sort

(custom.

begin()

,custom.

end(

),cmp1)

; vector<

int>

window

(k,28800);

//false:初始化

double result=

0.0;

for(

int i=

0;isize()

;i++

)//視窗號為tempindex}if

(window[tempindex]

<=custom[i]

.come)

else}if

(custom.

size()

==0)else

return0;

}

vector的初始化:vectorcustom

結構體賦值可以用{},中間使用「,」隔開,賦值的個數要跟結構體中元素的個數相等

結構體初始化,可以在定義之後直接寫

7 48 銀行排隊問題之單視窗「夾塞」版

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

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

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

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

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