UVa540

来源:互联网 发布:mhx网络联机 编辑:程序博客网 时间:2024/06/05 22:23
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include<string>
#include<strstream>
#include<strstream>
#include <sstream>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<unordered_map>
using namespace std;
const int nmax=1000+10;
int main()
{
    char s[10];
    int t,N,x,kase=0;
    while(scanf("%d",&t)!=EOF&&t){
        queue<int>q,q2[nmax];
        unordered_map<int,int>dic;
        printf("Scenario #%d\n",++kase);
        for(int i=0;i<t;++i){
            scanf("%d",&N);
            while(N--){scanf("%d",&x);dic[x]=i;}
        }
        memset(s,0,sizeof(s));
        while(scanf("%s",s)!=EOF&&s[0]!='S'){
            if(s[0]=='D'){
                int num=q.front();
                printf("%d\n",q2[num].front());q2[num].pop();
                if(q2[num].empty())q.pop();
            }else if(s[0]=='E'){
                scanf("%d",&x);
                int num=dic[x];
                if(q2[num].empty())q.push(num);
                q2[num].push(x);
            }
            memset(s,0,sizeof(s));
        }
        printf("\n");
    }
    return 0;
}
原创粉丝点击