题目名称 717. [SDOI 2007] 小组队列
输入输出 team.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarsywgz 于2012-04-01加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:52, 提交:111, 通过率:46.85%
GravatarHtBest 100 0.152 s 2.22 MiB C++
GravatarHeHe 100 0.165 s 0.84 MiB C++
Gravataryrtiop 100 0.169 s 2.75 MiB C++
GravatarVincent 100 0.185 s 0.70 MiB C++
GravatarVincent 100 0.186 s 0.71 MiB C++
GravatarRapiz 100 0.187 s 0.83 MiB C++
Gravatar-1 100 0.188 s 2.22 MiB C++
GravatarVincent 100 0.190 s 0.70 MiB C++
Gravatarliu_runda 100 0.191 s 0.83 MiB C++
GravatarHellc 100 0.191 s 0.83 MiB C++
关于 小组队列 的近10条评论(全部评论)
STL大法好,二维队列直接水过
Gravatarムラサメ
2023-03-08 16:43 7楼
为啥在POJ上能过的这里一个都过不了
Gravatar增强型图元文件
2020-08-29 18:11 6楼
神奇的队列组合模拟
Gravatar东林桂香
2017-10-16 18:41 5楼
话说这道题用到并查集了么。。。。。
GravatarHeHe
2017-03-13 09:34 4楼
没事随便random题来做= =
Gravatarraywzy
2014-06-10 22:35 3楼
GravatarVincent
2013-06-07 12:48 2楼
这题可以模拟的……就是线性模拟……模拟……
Gravatarcstdio
2013-04-01 20:31 1楼

717. [SDOI 2007] 小组队列

★★   输入文件:team.in   输出文件:team.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

队列和优先队列(用堆实现)是常用的数据结构,但是有一种小组队列却很少有人知道,尽管在生活中经常使用。在人们素质不是很高的地方排队其实不是使用队列,而是小组队列。

在人们索质不是很高的地方,排队往往是这样的:每个人都属于一个小组,并且该小组的人非常团结。每当一个人来排队的时候,他会先看一下前边有没有自己小组的成员,如果有的话,他会站到自己小组最后一个成员的后边,如果没有的话,是他最倒霉的时候,他必须站到整个队列的最后。

现在,要求写一种数据结构来模拟小组队列。

具体问题:有$m$个小组, $n$个元素(编号$0\sim n-1$) ,每个元素属于一个小组,当元素 $k$进入队列时,如果前边有 $k$ 所属小组的元素,$k$ 会排到自己小组最后一个元素的下一个位置,否则 $k$ 排到整个队列最后的位置。出队的方式和普通的队列相同,即排在前边的元素先出队。

注:每个元素可能进出队列多次,进出队列的命令最多 $10^5$个。

【输入】

第一行一个整数$m(m\leq 300)$,表示小组的数目。

接下来$m$行,每行表示一个小组的成员。每行开始有一个整数$k$表示该组的元素个数,接下来$k$个数,每个数表述该组的一个元素的编号。

接下来若干行,表示入队和出队操作,ENQUEUE k表示$k$入队,DEQUEUE表示队头出队,如果输入STOP则结束出入队。

【输出】

对应每个出队命令,按出队顺序依次输出出队的元素,每个一行。

【样例输入】

4
4 0 1 2 3
4 4 5 6 7
4 8 9 10 11
4 12 13 14 15
ENQUEUE 6
ENQUEUE 14
ENQUEUE 1
ENQUEUE 11
ENQUEUE 2
ENQUEUE 4
ENQUEUE 13
ENQUEUE 15
ENQUEUE 12
ENQUEUE 7
ENQUEUE 9
ENQUEUE 10
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
ENQUEUE 8
ENQUEUE 12
ENQUEUE 6
ENQUEUE 3
ENQUEUE 5
ENQUEUE 1
ENQUEUE 4
ENQUEUE 15
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
STOP

【样例输出】

6
4
7
14
13
15
12
1
2
3
1
11
9
10
8
12
15
6
5
4

【提示】

对于30%的数据,$1\leq n\leq 100, 1\leq m\leq 100$,进出队命令数$\leq 50$。

对于100%的数据,$1\leq n\leq 10^5, 1\leq m\leq 300$,进出队命令数$\leq 10^5$。