模拟插队,出队,POJ(2259)

摘要:
主题链接:http://poj.org/problem?id=2259水问题是记录每个队列是否具有bool[i],#include<iostream>#包括<字符串>#包括<队列>#包括<地图>#包括<csdio>使用namespacestd;内壳,nN

题目链接:http://poj.org/problem?id=2259

水题一个,就是要记录一下每个队列是否有人bool[i],

模拟插队,出队,POJ(2259)第1张

模拟插队,出队,POJ(2259)第2张模拟插队,出队,POJ(2259)第3张
#include <iostream>
#include <string>
#include <queue>
#include <map>
#include <cstdio>

using namespace std;

int nCase,nNum; ///队列总数
queue <long> nQue[1001];    ///存储每个队列
queue <int> nS;             ///存储队列号
int nM[1000000];            ///队列与队列号的映射表
bool nFlag[1001];           ///是否有同组元素

void init() {
    for(int i=0; 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=0; i!=nNum; ++i) {
        cin>>elemNum;   ///每个队的人数
        for(int j=0; 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=0;
    while(cin>>nNum,nNum) {
        init();
        input();
        solve();
    }
    return 0;
}
View Code

免责声明:文章转载自《模拟插队,出队,POJ(2259)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇IPTABLES详解(10):IPTABLES自定义链汇编语言程序设计读书笔记(2)- 相关工具64位系统篇下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

uniAPP Android平台完整更新与热更新

“)}plus.nativeUI.alert(“引用资源更新完成!”,function(){plus.runtime.restart();})},函数{plus.nativeUI.closeWaiting();//如果{console.log;plus.native UI.alert;}}否则{console.log;加上.nativeUI.alert;}}...

使用jsPlumb插件实现动态连线功能

jsPlumb是一个强大的JavaScript连线库,它可以将html中的元素用箭头、曲线、直线等连接起来,适用于开发Web上的图表、建模工具等,其实jsPlumb可能主要是用来做流程图的,它在实现这方面的功能上非常强大,我在项目中只使用了它少部分功能,来实现项目中连线的效果。...

Qt中使用定时器(可使用QObject::timerEvent定时执行,QTimer::singleShot可只触发一次)

在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器;一种是使用QTimer类。当定时器触发时,应用程序会发送一个QTimerEvent。与定时器相关的成员函数有:startTimer()、timeEvent()、killTimer()。virtualvoidQObject::timerEvent;虚函数timerEvent()被重载来实现用户的...

css动画延迟好像有点怪

项目需要使用动画Css。自定义时,会发现设置动画延迟和动画持续时间的总时间不正确,这将导致动画丢失。例如,bounceInLeft动画从左侧出现,然后抖动。当初始动画延迟为0时,动画持续时间为1s,动画已完成,但如果设置该值,动画延迟为1s且动画持续时间是2s,则动画未完成。具体的动画是从左侧出现,然后在1s延迟后直接到达终点,但没有抖动。然后我用w3c写了...

flutter Radio单选框

单选框,允许用户从一组中选择一个选项。...

bootstrap删除模态框弹出并询问是否删除【通用删除模态框】

divclass=“模态对话框”&gt;divclass=“modal header”&gt;spanaria hidden=“true”&gt;h4class=“模态标题”&gt;divclass=“modal body”&gt;divclass=“模态页脚”&gt;...