zoukankan      html  css  js  c++  java
  • 模拟插队,出队,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[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
  • 相关阅读:
    python实现的最近最少使用算法
    GreaseMonkey渐进
    SICP 与函数式编程
    python实现的简单的epub2txt
    智能去除选定区域
    ubuntu下svn上传到google code
    视频数据编解码技术
    分享三个好用的装饰器
    ubuntu下访问E72
    如何组织文件
  • 原文地址:https://www.cnblogs.com/TreeDream/p/5483727.html
Copyright © 2011-2022 走看看