//先输入队伍的个数
//用map建立数组将队伍序号和个人序号相互对应
//三条命令 #include <bits/stdc++.h>
using namespace std;
const int maxn=; int main()
{
int t,kase=;
while(cin>>t && t)
{
cout<<"Scenario "<<"#"<<++kase<<endl; map <int,int> team;
for(int i=;i<=t;i++)
{
int n,x;
cin>>n;//队伍中人的个数
while(n--)
{
cin>>x;
team[x]=i;//队员x在i(t)的队伍中
}
} queue<int> q,q2[maxn];
for(;;)
{
int x;
string cmd;
cin>>cmd;
if(cmd[]=='S')//STOP命令,停止模拟
break;
else if(cmd[]=='D')
{
int t=q.front();//第一个队伍的编号
cout<<q2[t].front()<<endl;
q2[t].pop();//输出并离队
if(q2[t].empty())
q.pop();//t队中的队员全部出队,移除队伍
}
else if(cmd[]=='E')
{
cin>>x;
int t=team[x];//队伍编号
if(q2[t].empty())
q.push(t);
q2[t].push(x);
}
}
cout<<endl;
}
return ;
}

代码基本直接搬的紫书,初次接触了map和queue,简单写一下map和queue的使用笔记

queue的头文件是<queue>

基本操作有:

back()返回最后一个元素

empty()队列为空返回真

front()返回第一个元素

pop()删除第一个元素

push()在末尾加入一个元素

size()返回队列中的元素个数

此题定义了两个队列,第一个用来记录队伍,第二个用来记录对位内的成员

map当成了数组来用,头文件<map>

map的输出跟set挺像的

cout<<iter->first<<" "<<iter->second<<endl;

iter->first 输出的第一个

iter->second 输出的第二个

UVa540的更多相关文章

  1. UVA540 Team Queue——题解 by hyl天梦

    UVA540 Team Queue 题解 题目描述:题目原题 https://vjudge.net/problem/UVA-540 Queues and Priority Queues are dat ...

  2. Team Queue (uva540 队列模拟)

    Team Queue Queues and Priority Queues are data structures which are known to most computer scientist ...

  3. UVa540 Team Queue

    // 题意:有t个团队的人在排队.每次来了一个新人之后,如果他有队友在排队,那么这个新人会插队到队友的身后. // 要求支持三种指令:ENQUEUE x; DEQUEUE(队首出队); STOP.模拟 ...

  4. uva540 Team Queue by sixleaves

    这道题目.主要是对队列的灵活应用.其实就是一道模拟题目,只要你洞察出题目的本质就十分简单.题目意思大体是有多组测试数据,每组的一开始是一个数字t,代表一共有多少的团队,接着是t行输入,每一行都由一个数 ...

  5. 团体队列UVA540 Team Queue(队列简单用法)

    题目背景 队列和优先级队列是大多数计算机科学家都知道的数据结构.但是团队队列却不被人熟知,尽管在生活中经常出现.比如,午餐时间的食堂门口的队列就是一个团队队列.在一个团队队列中,每个元素属于一个团队. ...

  6. 团体队列(UVa540)

    题目具体描述见:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_prob ...

  7. 团体队列 UVA540 Team Queue

    题目描述 有t个团队的人正在排一个长队.每次新来一个人时,如果他有队友在排队,那么新人会插队到最后一个队友的身后.如果没有任何一个队友排队,则他会被排到长队的队尾. 输入每个团队中所有队员的编号,要求 ...

  8. ACM学习历程——UVA540 Team Queue(队列,map:Hash)

    Description   Team Queue   Team Queue  Queues and Priority Queues are data structures which are know ...

  9. 算法习题---5.6团体队列(Uva540)

    一:题目 有t个队伍的人正在排队,每次新来一个人,如果他有队友在排队,那他可以插队,直接排到他的队伍的末尾.如果没有队伍在前面,那么他直接排在长队的末尾 ENQUEUE x 将编号x的队员入队 DEQ ...

随机推荐

  1. IntelliJ IDEA 常用插件

    1.Alibaba Java Coding Guidelines(Java代码规约扫描插件) 阿里开发的此插件极大的改善程序员的代码质量,帮助程序员规范自己的代码 tools下可以切换中英文 地址:h ...

  2. SpringMVC参数绑定总结

    springMvc作用:    a) 接收请求中的参数    b) 将处理好的数据返回给页面参数绑定(就是从请求中接收参数):    a) 默认支持的类型: request, response, se ...

  3. sql 条件汇总

    select * from a pivot(sum([总业绩]) for 周期 in ([1月],[2月],[3月],[4月])) as b

  4. python回归分析

    假设原函数由一个三角函数和一个线性项组成 import numpy as np import matplotlib.pyplot as plt %matplotlib inline def f(x): ...

  5. spark总结

    算子总结 1.变换操作,包括过滤,变换,去重,排序,分区操作 filter过滤操作,无法触发重新分区 map,flatMap,flatMapValues,mapValues,mapPartitions ...

  6. NE76003单片机调试DS18B20 步骤

    一.硬件部分 GND脚接地: DQ脚接P03,外加4K7上拉电阻: VCC脚接3.3v供电: 二.软件部分 1.配置P03为准准双向 IO类型: void Init_power_gpio(void){ ...

  7. 使用hexo在GitHub上无法上传博客

    原以为是秘钥或者其他错误,后来发现是邮箱设置的问题 在GitHub的你账号网页上右上角,个人的登录退出的位置,找到setting: setting->emails->Keep my ema ...

  8. std::condition_variable::wait_until segment

    原因是使用了 -static 改为 -static-libstdc++ -static-libgcc

  9. C语言基础02

    1. .so -- shared object,用户层的动态库 ..ko -- kernel object,内核模块,可以在Linux内核起来之后动态的加载和卸载. 2.

  10. linux 安装java环境

    1.检查是否安装或者linux系统自带jdK 命令:java -version 查找JDK相关包是否被安装: rpm -qa |grep jdk rpm -qa |grep gcj 删除JDK相关包: ...