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

UVA 540(p117)----Team Queue

2016-02-25 23:06 411 查看
#include<map>
#include<cstdio>
#include<queue>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1010;
char cmd[50];
int t,n,cas=0,x;
map<int,int> team;
queue<int> q,qq[maxn];
void init()
{
team.clear();
while(!q.empty()) q.pop();
for(int i=0; i<maxn; i++)
while(!qq[i].empty())
qq[i].pop();
}
int main()
{
while(scanf("%d",&t)==1&&t)
{
init();
printf("Scenario #%d\n",++cas);
for(int i=0; i<t; i++)
{
scanf("%d",&n);
for(int j=0; j<n; j++)
{
scanf("%d",&x);
team[x]=i;
}
}
while(1)
{
scanf("%s",cmd);
if(cmd[0]=='S') break;
if(cmd[0]=='D')
{
int tmp=q.front();
int out=qq[tmp].front();
qq[tmp].pop();
if(qq[tmp].empty()) q.pop();
printf("%d\n",out);
}
else
{
scanf("%d",&x);
if(qq[team[x]].empty())
q.push(team[x]);
qq[team[x]].push(x);
}
}
printf("\n");
}
return 0;
}
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=481
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: