uva 540

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
#include<map>
using namespace std;
const int maxn=10010;
const int N=10;

int main(){

	int kase=0,t;
	
	while(scanf("%d",&t)!=EOF&&t){
		printf("Scenario #%d\n",++kase);
		
		map<int,int> team;		
		
		for(int i=0;i<t;i++){
			
		int n,x;
		scanf("%d",&n);
		while(n--){	scanf("%d",&x); team[x]=i;}	
		
		}
	
        queue<int> q,q2[maxn];
			
		for(;;){
			
			int x;
			char cmd[10];
			scanf("%s",cmd);
			
			if(cmd[0]=='S') break;
			else if(cmd[0]=='D'){
				
				int t=q.front();
				printf("%d\n",q2[t].front()); q2[t].pop();
				
				if(q2[t].empty()) q.pop();
				
			}
			else if(cmd[0]=='E'){
				
				scanf("%d",&x);
				int t=team[x];
				if(q2[t].empty()) q.push(t);
				
				q2[t].push(x);
			}
		}
		
	puts("");	
	}
	
	return 0;
}
发布了138 篇原创文章 · 获赞 18 · 访问量 7059

猜你喜欢

转载自blog.csdn.net/qq_924485343/article/details/104242439