Team Queue 團體佇列(queue運用)

2021-09-30 14:46:10 字數 1493 閱讀 4975

有t個團隊的人正在排乙個長隊。每次新來乙個人時,如果他有隊友在排隊,那麼這個新人會插隊到最後乙個隊友的身後。如果沒有任何乙個隊友排隊,則他會排到長隊的隊尾。

輸入每個團隊中所有隊員的編號,要求支援如下3種指令(前兩種指令可以穿插進行)

對於每個dequeue指令,輸出出隊人的編號。

ps:輸出要求:每一組(包括最後一組)資料結尾都要空一行

2 3 101 102 103

3 201 202 203

enqueue 101

enqueue 201

enqueue

102

enqueue 202

enqueue 103

enqueue

203

dequeue

dequeue

dequeue

dequeue

dequeue

dequeue

stop

2 5

259001 259002 259003 259004 259005

6 260001 260002 260003 260004 260005

260006

enqueue 259001

enqueue 260001

enqueue 259002

enqueue

259003

enqueue 259004

enqueue 259005

dequeue

dequeue

enqueue

260002

enqueue

260003

dequeue

dequeue

dequeue

dequeue

stop

0scenario #1

1 101

102

103

201

202

203scenario #2

2 259001

259002

259003

259004

259005

260001

用map記錄編號為n的人所在的小隊編號k,主佇列中記錄不同小隊的排列順序,各個小隊的佇列中儲存參與排隊的自己隊員的排列順序

——紫皮書佇列部分

#include 

using

namespace

std;

map mark;

int main()

}string pose;

while(cin>>pose)

else

if(pose[0]=='e')

else

que[i].push(n); //發現了,插隊orz}}

cout

0;}

團體佇列 UVA540 Team Queue

有t個團隊的人正在排乙個長隊。每次新來乙個人時,如果他有隊友在排隊,那麼新人會插隊到最後乙個隊友的身後。如果沒有任何乙個隊友排隊,則他會被排到長隊的隊尾。輸入每個團隊中所有隊員的編號,要求支援如下3中指令 enqueue x 編號為x的人進入長隊 dequeue 長隊的隊首出隊 stop 停止模擬 ...

hoj1456 Team Queue 優先佇列

題目 模擬排隊的實現,但是若是有同夥的話,這些傢伙就會插隊,排到他們的同夥的後面,要不就乖乖地排到隊伍的後面。現在給出朋友關係以及進隊出隊的順序,問你當出隊時是誰在出隊 分析 利用優先佇列,過載小於號,使得優先順序最大的先出隊,優先順序的定義如下 當前面有同夥時,按照前面的同夥的優先順序來插入,若沒...

STL,map,queue 團體佇列

有t個團隊的人正在排乙個長隊。每次新來乙個人時,如果他有隊友在排隊,那麼這個新人會插隊到最後乙個隊友的身後。如果沒有任何乙個隊友排隊,則他會排到長隊的隊尾。輸入每個團隊中所有隊員的編號,要求支援如下3種指令 前兩種指令可以穿插進行 enqueuex 編號為x的人進入長隊。dequeue 長隊的隊首出...