又是一道比较复杂的模拟题。题中有两种队列,一种是总队列,从前向后。其他的是各个团体的小队列,因为入队的人如果有队友的话,会优先进入团体队列。

所以我们先设置两个队列和一个map,设置map倒是可以不用担心开多大数组这样的问题。然后开两个队列,一个是基本的q1,另一个是q2[1010]

一般的STL容器如string vector deque都是有两种直接初始化的方法(不严谨)一种是a(maxn)这个和一维数组差不多,直接赋给里面多少元素,另一种就是a[maxn]这个差不多是一个容器的数组,每一个a[i]代表一个容器。还可以跟string相似的用a[i][j]去寻找容器内的元素

然后先把各个小团体放入总队列(如果团体队列里面没有其他元素),然后去除的时候就是把前面的团体队列里面的首位去除就行,输出团体队列的首位元素,如果这之后第一个团体队列没有元素,那么直接踢掉这个团体队列

我的代码(刘汝佳算法)

#include <bits/stdc++.h>
//这个地方还得注意不要按照定义数组的习惯把STL容器都放到main外面,现在我还不知道怎么像memset一样清零STL容器,为此还WA。
using namespace std;
main()
{
int n;
int cas=0;
while(cin>>n&&n)
{
map<int,int> mp;
for(int i=0;i<n;i++)
{
int t;
cin>>t;
while(t--)
{
int num;
cin>>num;
mp[num]=i;
}
}
queue<int> q1,q2[1010];
printf("Scenario #%d\n",++cas);
string a;
while(cin>>a)
{
if(a[0]=='S')
break;
if(a[0]=='D')
{
int t=q1.front();
cout<<q2[t].front()<<endl;
q2[t].pop();
if(q2[t].empty())
q1.pop();
}
if(a[0]=='E')
{
int num;
cin>>num;
int t=mp[num];
if(q2[t].empty()) q1.push(t);
q2[t].push(num);
}
}
cout<<"\n";
}
}

uva 540 (Team Queue UVA - 540)的更多相关文章

  1. UVA.540 Team Queue (队列)

    UVA.540 Team Queue (队列) 题意分析 有t个团队正在排队,每次来一个新人的时候,他可以插入到他最后一个队友的身后,如果没有他的队友,那么他只能插入到队伍的最后.题目中包含以下操作: ...

  2. UVA 540 Team Queue(模拟+队列)

    题目代号:UVA 540 题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page ...

  3. uva 540 - Team Queue(插队队列)

    首发:https://mp.csdn.net/mdeditor/80294426 例题5-6 团体队列(Team Queue,UVa540) 有t个团队的人正在排一个长队.每次新来一个人时,如果他有队 ...

  4. Team Queue UVA - 540

      Queues and Priority Queues are data structures which are known to most computer scientists. The Te ...

  5. UVa 540 Team Queue 【STL】

    题意:给出t个团体,这t个团体排在一起,每次新来一个x排队,如果在整个的团体队列中,有x的队友,那么x排在它的队友的后面,如果他没有队友,则排在长队的队尾 求给出的每一个出队命令,输出出队的人的编号 ...

  6. UVA 540 Team Queue

    思路:使用优先队列,按队伍出现的时刻和自身出现的时刻定义优先级,同时记录此时刻队列里是否有自己队伍的人,一开始没注意,wa了两发. #include<map> #include<qu ...

  7. 【UVA - 540】Team Queue (map,队列)

    Team Queue Descriptions: Queues and Priority Queues are data structures which are known to most comp ...

  8. UVA Team Queue

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u013840081/article/details/26180081 题目例如以下: Team Qu ...

  9. 【暑假】[深入动态规划]UVa 1627 Team them up!

    UVa 1627 Team them up! 题目: Team them up! Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Forma ...

随机推荐

  1. Tomcat PK Resin

    特征 Tomcat Resin 所属公司 Apache CAUCHO 用户数 多 少 可參考文档 多 少 与Eclipse集成复杂度 适中 较复杂. Eclipse下调试开发 简便 复杂.更新类后会自 ...

  2. 防遗忘笔记,Fedora交叉编译window下的virt-iewer的汉化

    1. 汉化代码里的资源 virtviewer使用的是gettex的方案是标准的linux里国际化的方案.按道理仅仅须要改动virtualviewer/po/zh_CN.po的文件. 编译. 然后确认在 ...

  3. ios13--购物车优化

    // // ViewController.m // 03-综合练习 // #import "ViewController.h" @interface ViewController ...

  4. POJ 1273 Drainage Ditches 最大流

    这道题用dinic会超时 用E_K就没问题 注意输入数据有重边.POJ1273 dinic的复杂度为O(N*N*M)E_K的复杂度为O(N*M*M)对于这道题,复杂度是相同的. 然而dinic主要依靠 ...

  5. bzoj3240 [Noi2013]矩阵游戏——费马小定理+推式子

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3240 n 和 m 太过巨大,不难想到应该用费马小定理什么的来缩小范围: 总之就是推式子啦,看 ...

  6. 网络简要<入门篇>

    OSI七层 网络的含义:两个不在同一地理位置的主机(终端),通过传输介质和通信协议,实现通信和资源共享. 网络四要素:终端,传输介质 ,通信协议,资源 网络分类: 以范围分类:LAN网(局域网,以太网 ...

  7. HttpFileCollection 类使用

    public ActionResult GetForm()        {            HttpRequest request = System.Web.HttpContext.Curre ...

  8. Elasticsearch如何做到亿级数据查询毫秒级返回?

    阅读本文大概需要 6 分钟. 如果面试的时候碰到这样一个面试题:ES 在数据量很大的情况下(数十亿级别)如何提高查询效率? 这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有 ...

  9. Salvation -- ---广搜 + 限定方向 ,

    这个欣求 , 在迷宫里密室了方向 , 走过了一个地方 不做标记 还一个劲 , 找不到媳妇不亏 . 这个题 我跳了两个坑 ,  1 : 习惯性添加标记走过的 位置  ,导致所有的位置都能 走过一遍 , ...

  10. Django与 Ajax

    什么是json? 定义: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w3c制定的js规范)的一个子 ...