我是靠谱客的博主 娇气黑裤,最近开发中收集的这篇文章主要介绍POJ 2259 队列,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题意

传送门 POJ 2259 Team Queue

题解

1 1 1 个队列维护已在队中的小组索引,用 t t t 个队列维护各个小组在队中的元素,就能够 O ( 1 ) O(1) O(1) 时间处理各个操作。

#include <algorithm>
#include <cstdio>
#include <queue>
using namespace std;
const int maxn = 1000005, maxt = 1005;
int id[maxn];
queue<int> used, team[maxt];

int main()
{
    int t, c = 0;
    while (~scanf("%d", &t) && t)
    {
        printf("Scenario #%dn", ++c);
        while (used.size())
            used.pop();
        for (int i = 0; i < t; ++i)
        {
            while (team[i].size())
                team[i].pop();
            int n, x;
            scanf("%d", &n);
            for (int j = 0; j < n; ++j)
            {
                scanf("%d", &x);
                id[x] = i;
            }
        }
        char op[10];
        while (~scanf(" %s", op) && op[0] != 'S')
        {
            int x, k;
            switch (op[0])
            {
            case 'E':
                scanf("%d", &x);
                k = id[x];
                if (team[k].empty())
                    used.push(k);
                team[k].push(x);
                continue;
            case 'D':
                k = used.front();
                printf("%dn", team[k].front());
                team[k].pop();
                if (team[k].empty())
                    used.pop();
            }
        }
        puts("");
    }
    return 0;
}

最后

以上就是娇气黑裤为你收集整理的POJ 2259 队列的全部内容,希望文章能够帮你解决POJ 2259 队列所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部