模拟插队,出队,POJ(2259)
题目链接:http://poj.org/problem?id=2259
水题一个,就是要记录一下每个队列是否有人bool[i],
#include <iostream>
#include <string>
#include <queue>
#include <map>
#include <cstdio> using namespace std; int nCase,nNum; ///队列总数
queue <long> nQue[]; ///存储每个队列
queue <int> nS; ///存储队列号
int nM[]; ///队列与队列号的映射表
bool nFlag[]; ///是否有同组元素 void init() {
for(int i=; i!=nNum; i++) {
nFlag[i]=false;
while(!nQue[i].empty())
nQue[i].pop();
}
while(!nS.empty())
nS.pop();
} void input() {
int nElem,elemNum;
for(int i=; i!=nNum; ++i) {
cin>>elemNum; ///每个队的人数
for(int j=; j!=elemNum; j++) {
cin>>nElem;
nM[nElem]=i;
}
}
} void solve() {
string nCommand;
int nElem;
cout<<"Scenario #"<<++nCase<<endl;
while(cin>>nCommand,nCommand!="STOP") {
if(nCommand=="ENQUEUE") {
cin>>nElem;
if(!nFlag[nM[nElem]]) {
nFlag[nM[nElem]]=true;
nS.push(nM[nElem]);
}
nQue[nM[nElem]].push(nElem);
} else if(nCommand=="DEQUEUE") {
int nId = nS.front();
cout<<nQue[nId].front()<<endl;
nQue[nId].pop();
if(nQue[nId].empty()) {
nS.pop();
nFlag[nId]=false;
}
}
}
cout<<endl;
} int main() {
nCase=;
while(cin>>nNum,nNum) {
init();
input();
solve();
}
return ;
}
模拟插队,出队,POJ(2259)的更多相关文章
- 牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)
传送门 :B题:点我 C题: 点我 题目描述 有n个队伍,每个队伍的人数小于等于5,每辆车最多坐5个人,要求一个队伍的人都在一辆车上,求最少的车数 输入描述: 第一行n第二行n个数,表示每个队伍的人数 ...
- POJ 2259 Team Queue(队列)
题目原网址:http://poj.org/problem?id=2259 题目中文翻译: Description 队列和优先级队列是大多数计算机科学家已知的数据结构. 然而,Team Queue并不是 ...
- POJ 2259 - Team Queue - [队列的邻接表]
题目链接:http://poj.org/problem?id=2259 Queues and Priority Queues are data structures which are known t ...
- Team Queue POJ - 2259 (队列)
Queues and Priority Queues are data structures which are known to most computer scientists. The Team ...
- queue POJ 2259 Team Queue
题目传送门 题意:先给出一些小组成员,然后开始排队.若前面的人中有相同小组的人的话,直接插队排在同小组的最后一个,否则只能排在最后面.现在有排队和出队的操作. 分析:这题关键是将队列按照组数分组,用另 ...
- js模拟抛出球运动
js练手之模拟水平抛球运动 -匀加速运动 -匀减速运动 模拟运动有些基本的思路,当前所在点的坐标,元素的长宽是多少,向右/向下运动x/y增加,向上/向左运动x/y减少,运动的路程是多少,用什么方程进行 ...
- C语言实现循环队列的初始化&进队&出队&读取队头元素&判空-2
/*顺序表实现队列的一系列操作(设置flag标志不损失数组空间)*/ #include<stdio.h> #include<stdlib.h> #define Queue_Si ...
- C语言实现链队列的初始化&进队&出队
/*链表实现队列的一系列操作*/ #include<stdio.h> #include<stdlib.h> #define OK 1 #define ERROR 0 typed ...
- JS优先队列排序。出队时,先找出优先级最高的元素,再按照先进先出出队。
JS优先队列排序.出队时,先找出优先级最高的元素,再按照先进先出出队. /* * 优先队列 * 出队时,先找出优先级最高的元素,再按照先进先出出队. * */ function Queue(){ th ...
- poj 2259 Team Queue
Team Queue Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 2977 Accepted: 1092 Descri ...
随机推荐
- vmware 三种连接方式 如何设置独立ip
转载:https://blog.csdn.net/xiaoyangsavvy/article/details/73718473
- CPU的CAS操作
https://blog.csdn.net/qq_35492857/article/details/78471032 https://www.cnblogs.com/gdjdsjh/p/5076815 ...
- Problem07 处理字符串
题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 程序分析:利用while 语句,条件为输入的字符不为'\n'. import java.util.*; public clas ...
- vue混入(mixins)
混入(mixins)是一种分发vue组件中可复用功能的非常灵活的方式.混入对象可以包含任意组件选项. 当组件使用混入对象时,所以混入对象的选项将被混入该组件本身选项,当组件和混入对象含有同名选项时,这 ...
- python3与python2的区别 记录一波
1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果. Py3.1性能比Py2 ...
- 关系型数据库---MySQL---事务
1.概述 1.1 事务:在对业务相关的一系列数据进行操作时,需要保证数据操作的完整性(要么全部成功.要么全部失败): 1.2 MySQL中支持事务的存储引擎是:Innodb: 1.3 事务用来管理in ...
- java 静态变量生命周期(类生命周期)(转)
Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...
- Android NDK开发 JNI操作java构造方法,普通方法,静态方法(七)
Android NDK开发 JNI操作java普通.静态.构造方法 1.Jni实例化一个Java类的实例jobject 1.通过FindClas( ),获取Java类的的jclass 2.通过GetM ...
- tomcat直接访问webinfo里的jsp
<servlet> <servlet-name>requestScope.jsp</servlet-name> <jsp-file>/WEB-INF/r ...
- B P5 第十三届北航程序设计竞赛预赛
https://buaacoding.cn/contest-ng/index.html#/188/problems 其实这题挺简单的. 注意到答案的大小最多是22 二分,check长度是mid的不同子 ...