佇列 Acwing132 小組佇列

2021-10-01 11:22:27 字數 1997 閱讀 6441

點這裡到原題

有n個小組要排成乙個佇列,每個小組中有若干人。

當乙個人來到佇列時,如果佇列中已經有了自己小組的成員,他就直接插隊排在自己小組成員的後面,否則就站在隊伍的最後面。

請你編寫乙個程式,模擬這種小組佇列。

輸入格式:

輸入將包含乙個或多個測試用例。

對於每個測試用例,第一行輸入小組數量t。

接下來t行,每行輸入乙個小組描述,第乙個數表示這個小組的人數,接下來的數表示這個小組的人的編號。

編號是0到999999範圍內的整數。

乙個小組最多可包含1000個人。

最後,命令列表如下。 有三種不同的命令:

1、enqueue x - 將編號是x的人插入佇列;

2、dequeue - 讓整個佇列的第乙個人出隊;

3、stop - 測試用例結束

每個命令佔一行。

當輸入用例t=0時,代表停止輸入。

需注意:測試用例最多可包含200000(20萬)個命令,因此小組佇列的實現應該是高效的:

入隊和出隊都需要使用常數時間。

輸出樣例

對於每個測試用例,首先輸出一行「scenario #k」,其中k是測試用例的編號。

然後,對於每個dequeue命令,輸出出隊的人的編號,每個編號佔一行。

在每個測試用例(包括最後乙個測試用例)輸出完成後,輸出乙個空行。

資料範圍

1≤t≤10001≤t≤1000

輸入樣例:

23 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

25 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

0輸出樣例:

scenario #1

101102

103201

202203

scenario #2

259001

259002

259003

259004

259005

260001

#include

using

namespace std;

deque<

int>q[

1010

],p;

int c[

1000010

],n,m,x,t=0*

*加粗樣式**;

char st[10]

;int

main()

}//printf

("scenario #%d\n"

,++t)

;while(~

scanf

("%s"

,&st)

&&st[0]

!='s'

)else

} cout<}return0;

}

1 3 2微信小程式 WXSS

wxss weixin style sheets 是mina框架設計的一套樣式語言,用於描述wxml的元件樣式。wxss用來決定wxml 的元件應該怎麼顯示。與css相比我們擴充套件的特性有 裝置rpx換算px 螢幕寬度 750 px換算rpx 750 螢幕寬度 iphone5 1rpx 0.42p...

AcWing 模擬佇列 佇列 模擬

時 空限制 1s 64mb 實現乙個佇列,佇列初始為空,支援四種操作 1 push x 向隊尾插入乙個數x 2 pop 從隊頭彈出乙個數 3 empty 判斷佇列是否為空 4 query 查詢隊頭元素。現在要對佇列進行m個操作,其中的每個操作3和操作4都要輸出相應的結果。第一行包含整數m,表示操作次...

AcWing 滑動視窗 單調佇列

時 空限制 1s 64mb 給定乙個大小為n 106的陣列。有乙個大小為k的滑動視窗,它從陣列的最左邊移動到最右邊。您只能在視窗中看到k個數字。每次滑動視窗向右移動乙個位置。以下是乙個例子 該陣列為 1 3 1 3 5 3 6 7 k為3。視窗位置 最小值最大值 1 3 1 3 5 3 6 7 13...