UVa540
//先输入队伍的个数
//用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的更多相关文章
- UVA540 Team Queue——题解 by hyl天梦
UVA540 Team Queue 题解 题目描述:题目原题 https://vjudge.net/problem/UVA-540 Queues and Priority Queues are dat ...
- Team Queue (uva540 队列模拟)
Team Queue Queues and Priority Queues are data structures which are known to most computer scientist ...
- UVa540 Team Queue
// 题意:有t个团队的人在排队.每次来了一个新人之后,如果他有队友在排队,那么这个新人会插队到队友的身后. // 要求支持三种指令:ENQUEUE x; DEQUEUE(队首出队); STOP.模拟 ...
- uva540 Team Queue by sixleaves
这道题目.主要是对队列的灵活应用.其实就是一道模拟题目,只要你洞察出题目的本质就十分简单.题目意思大体是有多组测试数据,每组的一开始是一个数字t,代表一共有多少的团队,接着是t行输入,每一行都由一个数 ...
- 团体队列UVA540 Team Queue(队列简单用法)
题目背景 队列和优先级队列是大多数计算机科学家都知道的数据结构.但是团队队列却不被人熟知,尽管在生活中经常出现.比如,午餐时间的食堂门口的队列就是一个团队队列.在一个团队队列中,每个元素属于一个团队. ...
- 团体队列(UVa540)
题目具体描述见:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_prob ...
- 团体队列 UVA540 Team Queue
题目描述 有t个团队的人正在排一个长队.每次新来一个人时,如果他有队友在排队,那么新人会插队到最后一个队友的身后.如果没有任何一个队友排队,则他会被排到长队的队尾. 输入每个团队中所有队员的编号,要求 ...
- ACM学习历程——UVA540 Team Queue(队列,map:Hash)
Description Team Queue Team Queue Queues and Priority Queues are data structures which are know ...
- 算法习题---5.6团体队列(Uva540)
一:题目 有t个队伍的人正在排队,每次新来一个人,如果他有队友在排队,那他可以插队,直接排到他的队伍的末尾.如果没有队伍在前面,那么他直接排在长队的末尾 ENQUEUE x 将编号x的队员入队 DEQ ...
随机推荐
- 【HDFS API编程】从本地拷贝文件,从本地拷贝大文件,拷贝HDFS文件到本地
接着之前继续API操作的学习 CopyFromLocalFile: 顾名思义,从本地文件拷贝 /** * 使用Java API操作HDFS文件系统 * 关键点: * 1)create Configur ...
- android studio 运行项目时waiting for target device to come online
cmd进入命令行,进入adb所在的目录下: 或者在Terminal中输入命令: adb kill-server adb start-server
- vue.js响应式原理解析与实现
vue.js响应式原理解析与实现 从很久之前就已经接触过了angularjs了,当时就已经了解到,angularjs是通过脏检查来实现数据监测以及页面更新渲染.之后,再接触了vue.js,当时也一度很 ...
- go 语言学习笔记(一)
本次学习目的:熟悉了解 go 语言特点,实现基本功能. 1.readfile.go package main import ( "bufio" "fmt" &q ...
- DRF框架之 用户角色权限与访问频率的权限设置
1. 简单演示,创建一个models的数据库表 class User(models.Model): name=models.CharField(max_length=32) pwd=models.Ch ...
- --- Android 设置为A2DP 接收器
http://www.it1352.com/88728.html external/bluetooth/bluedroid/include/bt_target.h: * Enable bluetoot ...
- python回归分析
假设原函数由一个三角函数和一个线性项组成 import numpy as np import matplotlib.pyplot as plt %matplotlib inline def f(x): ...
- 2.数据库的基本操作<针对于库层面的操作>
1.查看已有数据库: MySQL [(none)]> show databases; +--------------------+ | Database | +----------------- ...
- Linux安装Tomcat,运行Eclipse,web项目
到官网下载:https://tomcat.apache.org/download-80.cgi 在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd 切换目录 / ...
- selenium的browser.page_source无法返回页面内容
selenium的browser.page_source无法返回页面内容 可能是编码的问题.. html= (browser.page_source).encode('GBK', 'ignore') ...