概述
解题思路:简单使用queue和map
解题代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<queue>
#include<map>
using namespace std;
const int max1=1000+10;
int main(){
int T,Case=0;
while((cin>>T)&&T){
cout<<"Scenario #"<<++Case<<endl;
map<int,int>team;
for(int t=0;t<T;t++){
int n;
cin>>n;
int x;
while(n--){
cin>>x;
team[x]=t;
}
}
queue<int>q,q1[max1];
string str;
int num;
while(true){
cin>>str;
if(str[0]=='S') break;
else if(str[0]=='D'){
int t=q.front();
cout<<q1[t].front()<<endl;
q1[t].pop();
if(q1[t].empty()) q.pop();
}
else if(str[0]=='E'){
cin>>num;
int t=team[num];
if(q1[t].empty()) q.push(t);
q1[t].push(num);
}
}
cout<<endl;
}
return 0;
}
最后
以上就是幸福短靴为你收集整理的UVA - 540 Team Queue的全部内容,希望文章能够帮你解决UVA - 540 Team Queue所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复