一:题目

有t个队伍的人正在排队,每次新来一个人,如果他有队友在排队,那他可以插队,直接排到他的队伍的末尾。如果没有队伍在前面,那么他直接排在长队的末尾
ENQUEUE x       将编号x的队员入队
DEQUEUE   将队列首个人员出队
STOP 停止模拟
对于每一个DEQUEUE操作,都要将出队的人的编号输出

(一)样例输入


ENQUEUE
ENQUEUE
ENQUEUE
ENQUEUE
ENQUEUE
ENQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
STOP ENQUEUE
ENQUEUE
ENQUEUE
ENQUEUE
ENQUEUE
ENQUEUE
DEQUEUE
DEQUEUE
ENQUEUE
ENQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
STOP

(二)样例输出

Scenario #

Scenario #

二:代码实现

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <map>
#include <string>
#include <queue> using namespace std; #define MAX 1000 //队列数 int main()
{
freopen("data5_6.in", "r", stdin);
freopen("data5_6.out", "w", stdout); int num,p_n,p_m,count=;
string cmd; while ((cin >> num)&&num!=)
{
cout << "Scenario #" << count++ << endl; //输出信息

map<int, int> p_t; //全部人员信息 队员和队号 //实时排队信息
queue<int> t_num; //按顺序保存当前队列中的队列号
queue<int> p_num[MAX]; //用于保存当前在排队的各个队伍中的人员编号
for (int i = ; i <= num; i++) //获取队列信息
{
cin >> p_n;
for (int j = ; j <= p_n; j++)
{
cin >> p_m;
p_t.insert(pair<int, int>(p_m,i-));
}
} while ((cin >> cmd)&&cmd!="STOP") //开始进行操作
{
if (cmd[]=='E') //入队
{
cin >> p_m; //获取队员编号
p_n = p_t[p_m]; //获取队列编号 if (p_num[p_n].size() == ) //如果当前排队中没有该队伍
{
t_num.push(p_n); //将队号一块插入
p_num[p_n].push(p_m);
}
else //如果当前排队中有该队伍,则直接插入到对应队列中
p_num[p_n].push(p_m);
}
else if (cmd[] == 'D') //出队
{ p_n = t_num.front(); //获取第一个队列号,和该队列中的第一个队员
p_m = p_num[p_n].front();
p_num[p_n].pop(); //将该队员出队 cout << p_m << endl; //输出队员编号 if (p_num[p_n].size() == ) //判断是否是自己队伍中的最后一个人,是的话,将队伍号出队
t_num.pop();
}
} cout << endl; //输出信息 空行
} freopen("CON", "r", stdin);
freopen("CON", "w", stdout);
return ;
}

算法习题---5.6团体队列(Uva540)的更多相关文章

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

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

  2. 团体队列 UVA540 Team Queue

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

  3. UVa 540 (团体队列) Team Queue

    题意: 每个人都属于一个团体,在排队的时候,如果他所在的团体有人在队伍中,则他会站到这个团体的最后.否则站到整个队伍的队尾. 输出每次出队的人的编号. 分析: 容易看出,长队中,在同一个团体的人是排在 ...

  4. 【算法习题】数组中任意2个(3个)数的和为sum的组合

    题1.给定一个int数组,一个数sum,求数组中和为sum的任意2个数的组合 @Test public void test_find2() { int[] arr = { -1, 0, 2, 3, 4 ...

  5. 5_6 团体队列(UVa540)<queue与STL其他容器的综合运用>

    先给出T个团体,并给出每个团体有多少人和每个人的编号,然后所有团体一起排队,排成一条大队列,排队的原则是,一个成员加入,如果这个成员所在的团体已经有人在排队了,那么他就加到他所在团体的最后面,而不是整 ...

  6. 算法习题---5-7打印队列(UVa12100)

    一:题目 有一个打印机,有一些任务在排着队打印,每个任务都有优先级.打印时,每次取出队列第一个任务,如果它的优先级不是当前队列中最高的,就会被放到队尾,否则就打印出来.输出初始队列的第m个任务的打印时 ...

  7. 团体队列(UVa540)

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

  8. Dijkstra算法优先队列实现与Bellman_Ford队列实现的理解

    /* Dijkstra算法用优先队列来实现,实现了每一条边最多遍历一次. 要知道,我们从队列头部找到的都是到 已经"建好树"的最短距离以及该节点编号, 并由该节点去更新 树根 到其 ...

  9. JavaScript中的算法之美——栈、队列、表

    序 最近花了比较多的时间来学习前端的知识,在这个期间也看到了很多的优秀的文章,其中Aaron可能在这个算法方面算是我的启蒙,在此衷心感谢Aaron的付出和奉献,同时自己也会坚定的走前人这种无私奉献的分 ...

随机推荐

  1. DOCclever--自动化接口测试用例

    1.登录---UI模式 2.登录--代码模式

  2. 关于axios请求携带cookie以及封装

    axios跨域携带cookie需要配置 axios跨域发送请求的时候默认不会带上cookie的 + withCredentials的情况下,后端要设置Access-Control-Allow-Orig ...

  3. test20190825 AmberFrame

    100+0+99=199,第二题一分没得不应该. count 给定 \(n\),求合法的 \((x_1,x_2,x_3,\dots,x_{2m})\) 组数.一组 \(x\) 是合法的,当且仅当 \[ ...

  4. LG5325 【模板】Min_25筛

    P5325 [模板]Min_25筛 题目背景 模板题,无背景. 题目描述 定义积性函数$f(x)$,且$f(p^k)=p^k(p^k-1)$($p$是一个质数),求 $$\sum_{i=1}^n f( ...

  5. JQuery系列(1) - 选择器、构造函数、实例方法

    概述 JQuery是一个JavaScript库,jQuery的核心思想是“先选中某些网页元素,然后对其进行某种处理”(find something, do something),也就是说,先选择后处理 ...

  6. 关于Djiango中 前端多对多字段点(,)的显示问题

    去除点的方法: <td> {% for roles_son in roles.permissions.all %} {% if forloop.last %} # 利用模板语言中的循环机制 ...

  7. go内置的反向代理

    package main import ( "log" "net/http" "net/http/httputil" "net/u ...

  8. 语法速学,返回数组 repeated修饰符

    重新编写proto文件 syntax = "proto3"; package services; import "google/api/annotations.proto ...

  9. asp.net之大文件断点续传

    ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...

  10. 洛谷 P2791 幼儿园篮球题

    洛谷 P2791 幼儿园篮球题 https://www.luogu.org/problemnew/show/P2791 我喜欢唱♂跳♂rap♂篮球 要求的是:\(\sum_{i=0}^kC_m^iC_ ...