SJTU排隊與插隊

2021-10-04 22:32:44 字數 2444 閱讀 5016

春節前後的寒假開始總是交通高峰期的開始。如果您這時候嘗試購買火車票,就會目睹每個售票視窗前無盡的排隊。如果乙個人在佇列中見過他的朋友,那麼這個幸運的人很可能會直接去找他的朋友求情。這稱為「插隊」。對於排隊的其他人來說,這是不公平的,但這就是生活。

您的任務是編寫乙個程式,模擬乙個這樣的佇列,人們不時地排隊與插隊。隊伍中如果存在自己的小團體,則會插在這個小團體末尾。否則正常排隊,排在整條隊伍末尾。

input format

第一行是乙個數n,表示參與排隊的人的個數。

第二行將會讀入n個非負整數,第 i 個整數表示第 i 個人所屬的團體的 編號 。這些編號的範圍是1~9。

第三行是乙個數q,代表可能的事件數。

第四行是q個數字,每個數字代表一種可能的事件。

0: 插入乙個新人。如果所有人都入過佇列,你應當忽略這個操作。

1: 隊首的人離開,請輸出這個人的編號(他是第幾個插入的)。如果佇列空,你應當輸出"-1"。

output format

對於每乙個詢問類事件,輸出對應的答案或者是"-1"。

sample input

71 2 1 2 2 1 1

71 0 0 0 0 1 1

sample output-11

3limits

對於100%的資料,n, q <= 4000

#include

using

namespace std;

template

<

class

elemtype

>

class

queue};

template

<

class

elemtype

>

class

linkqueue

:public queue

node()

:next

(null)~

node()

};node* front,

* rear;

public

:linkqueue()

;~linkqueue()

;bool

isempty()

const

;void

enqueue

(const elemtype& x,

const elemtype& n)

; elemtype dequeue()

; elemtype gethead()

const;}

;template

<

class

elemtype

>

linkqueue

::linkqueue()

template

<

class

elemtype

>

linkqueue::~

linkqueue()

}template

<

class

elemtype

>

bool linkqueue

::isempty()

const

template

<

class

elemtype

>

void linkqueue

::enqueue

(const elemtype& x,

const elemtype&n)

else}if

(flag) rear = rear-

>next =

newnode

(x, n);}

}template

<

class

elemtype

>

elemtype linkqueue

::dequeue()

node* tmp = front;

elemtype value = front-

>num;

front = front-

>next;

if(front ==

null

) rear =

null

;delete tmp;

cout << value << endl;

return value;

}template

<

class

elemtype

>

elemtype linkqueue

::gethead()

const

intmain()

}if(b[k]==1

) queue.

dequeue()

;}delete

a;delete

b;return0;

}

病人排隊 (程式設計與演算法(一))

描述 病人登記看病,編寫乙個程式,將登記的病人按照以下原則排出看病的先後順序 1.老年人 年齡 60歲 比非老年人優先看病。2.老年人按年齡從大到小的順序看病,年齡相同的按登記的先後順序排序。3.非老年人按登記的先後順序看病。輸入第1行,輸入乙個小於100的正整數,表示病人的個數 後面按照病人登記的...

問題求解與程式設計 實驗四 C食堂排隊

描述 某日,食堂視窗推出一款新美食,每個班的同學都想去嚐一嚐。於是,很多人都去這個視窗排隊,但是,隊伍中如果同班同學相鄰站著的話,他們就只需要乙個人排在隊伍中就行了。例如某次隊伍情況 12221133345678899,那麼就會變成一條新的隊伍 1213456789。輸入 輸入有多組資料,對於每組資...

排隊 白雪公主與n個小矮人

問題描述 在七山七海之外的乙個小村莊,白雪公主與n個矮人住在一起,所有時間都花在吃和玩league of legend遊戲。白雪公主決心終結這樣的生活,所以為他們舉辦了體育課。在每節課開始時,矮人必須按他們的身高站隊。假定矮人們有高度1,2,n 每個人高度互不相同 然而,由於不健康的生活方式,矮人的...