#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
typedef pair<int,int> PII;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int uint;
typedef vector<string> VS;
typedef vector<int> VI;
typedef vector<vector<int>> VVI;
vector<int> vx;
inline int mp(int x) {return upper_bound(vx.begin(),vx.end(),x)-vx.begin();}
inline int log_2(int x) {return 31-__builtin_clz(x);}
inline int popcount(int x) {return __builtin_popcount(x);}
inline int lowbit(int x) {return x&-x;}
const int N = 1e6+10;
int f[N];
bool st[1010];
void solve()
{
int t;
int cnt = 0;
while(cin>>t,t)
{
cout<<"Scenario #"<<++cnt<<'\n';
queue<int> q[t+1];
//用q[0]表示總鏈
for(int i=1;i<=t;++i)
{
st[i] = 0;
int n;
cin>>n;
for(int j=1;j<=n;++j)
{
int x;
cin>>x;
f[x] = i;
}
}
//本題的核心在於可以多次入隊出隊
string s;
while(cin>>s,s!="STOP")
{
if(s == "ENQUEUE")
{
int x;
cin>>x;
if(!st[f[x]])
{
q[0].push(f[x]);
q[f[x]].push(x);
st[f[x]] = 1;
}
else
{
q[f[x]].push(x);
}
}
else if(s == "DEQUEUE")
{
//注意需要的p是根節點
int p = q[0].front();
cout<<q[p].front()<<'\n';
q[p].pop();
if(q[p].empty()) {q[0].pop();st[p] = 0;}
}
}
cout<<'\n';
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int T = 1;
//cin>>T;
while(T--)
{
solve();
}
}
Team Queue(佇列)
相關文章
- Team Queue (佇列的一種應用)佇列
- POJ 2259 Team Queue【模擬佇列】佇列
- JDK QUEUE佇列JDK佇列
- python佇列QueuePython佇列
- C# 佇列(Queue)C#佇列
- 佇列(Queue)-c實現佇列
- STL(十九)queue佇列容器佇列
- laravel原始碼分析-佇列QueueLaravel原始碼佇列
- 資料結構之佇列(Queue)資料結構佇列
- java Queue佇列相關總結Java佇列
- js資料結構--佇列(queue)JS資料結構佇列
- 29_檢查點佇列(checkpoint queue)佇列
- java集合類——Stack棧類與Queue佇列Java佇列
- Throwing cards away I(queue迴圈佇列)佇列
- 【資料結構】棧(Stack)和佇列(Queue)資料結構佇列
- 看動畫學演算法之:佇列queue動畫演算法佇列
- STL(二十)priority_queue優先佇列容器佇列
- Python3 queue佇列模組詳解Python佇列
- 訊息佇列(Message Queue)基本概念佇列
- [筆記] 解碼Nginx:雙向佇列(Queue)筆記Nginx佇列
- jQuery佇列控制方法詳解queue()/dequeue()/clearQueue()jQuery佇列
- python的queue佇列獲取資料Python佇列
- C++ STL 優先佇列 (priority_queue)C++佇列
- 分散式任務 + 訊息佇列框架 go-queue分散式佇列框架Go
- 原始碼解析Synchronous Queue 這種特立獨行的佇列原始碼佇列
- Python3 執行緒優先順序佇列( Queue)Python執行緒佇列
- 佇列Queue:任務間的訊息讀寫,安排起來~佇列
- Stack and Queue in JavaScript(Javascript中的資料結構之棧和佇列)JavaScript資料結構佇列
- 【FreeRtos教程三】STM32 CubeMx——Message Queue(訊息佇列)佇列
- 佇列、阻塞佇列佇列
- 使用Chronicle Queue建立低延遲的TB級別的佇列 - DZone佇列
- [Yii2] yii2-queue 基於redis 佇列測試學習Redis佇列
- 【Java程式設計】使用Java模擬C/C++中的queue佇列Java程式設計C++佇列
- 快速開始api開發(五)定時任務 crontab 和 佇列 queueAPI佇列
- [資料結構與演算法]佇列Queue 的多種實現資料結構演算法佇列
- [轉]queue_depth含義:是指hdisk層面上命令佇列的深度佇列
- 1284 海港 普及組 NOIP2016 佇列基礎 簡單列舉 簡單模擬 優先佇列(priority_queue)佇列
- 佇列-單端佇列佇列