您的位置:首页 > 产品设计 > UI/UE

UVa 540 Team Queue

2016-04-27 15:16 232 查看
#include<iostream>
#include<cstdio>
#include<string>
#include<map>
#include<algorithm>
#include<vector>
#include<queue>
#include<set>
#include<cstring>
#include<stack>
using namespace std;
int t;
int main()
{
int k=1;
while(scanf("%d",&t)!=EOF)
{
map<int,int> int2int;
if(t==0)
break;
queue<int> result;
queue<int> q;
queue<int> *temp=new queue<int>[t];
int i,j;
for(i=0;i<t;i++)
{
int amount;
scanf("%d",&amount);
for(j=0;j<amount;j++)
{
int elem;
scanf("%d",&elem);
int2int[elem]=i;
}
}
string s;
while(cin>>s)
{
if(s[0]=='S')
break;
else if(s[0]=='E')
{
int t;
scanf("%d",&t);
int tt=int2int[t];
if(temp[tt].empty())
q.push(tt);
temp[tt].push(t);
}
else if(s[0]=='D')
{
int t=q.front();
int data=temp[t].front();
temp[t].pop();
if(temp[t].empty())
q.pop();
result.push(data);
}
}
cout<<"Scenario #"<<k<<endl;
while(!result.empty())
{
int t=result.front();
result.pop();
cout<<t<<endl;
}
cout<<endl;
k++;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: