Pro.ID1509 Title队伍队列 Title链接http://10.20.2.8/oj/exercise/problem?problem_id=1509 AC24 Submit128 Ratio18.75% 时间&空间限制描述队列和优先队列都是数据结构,很多计算机科学家都知道,连Alice也知道。然而,却不是很多人知道"队伍队列",尽管这在日常生活中经常可以见到。 在队伍队列中,每个元素都属于一支队伍。当一个元素进队时,它首先从头到尾扫描队列,看看有没有自己的"队友"已在这个队列中。如果有,那么这个元素就插入到它的队友们的后面。如果没有,就插入到队列的最后,成为新的"队尾"。(只能认倒霉了)。出队的规则与普通队列一样:元素按队列的顺序从头到尾顺序出队。 Alice请你编写一个程序模拟这样的队伍队列。 输入输入有多个测试用例。 每个测试用例第一行是一个整数 t ( 1 ≤ t ≤ 1000 ),表示队伍数量。接下来t行,每行第一个整数是这支队伍的人数,后面接着是这支队伍每个人的号码。号码范围是0 ~ 999999。每支队伍的人数不超过1000人。接下来是一个指令序列。有3种指令: ENQUEUE x - 元素x进队 DEQUEUE - 队首元素出队 STOP - 本测试用例结束 当t==0时,输入结束。 警告:每个测试用例可以包含多达20万条指令,因此"队伍队列"的实现算法必须非常高效率,进队和出队的操作的时间复杂度应该是常数时间,即O(1)。 输出Description 队列和优先队列都是数据结构,很多计算机科学家都知道,连Alice也知道。然而,却不是很多人知道"队伍队列",尽管这在日常生活中经常可以见到。 在队伍队列中,每个元素都属于一支队伍。当一个元素进队时,它首先从头到尾扫描队列,看看有没有自己的"队友"已在这个队列中。如果有,那么这个元素就插入到它的队友们的后面。如果没有,就插入到队列的最后,成为新的"队尾"。(只能认倒霉了)。出队的规则与普通队列一样:元素按队列的顺序从头到尾顺序出队。 Alice请你编写一个程序模拟这样的队伍队列。 Input 输入有多个测试用例。 每个测试用例第一行是一个整数 t ( 1 ≤ t ≤ 1000 ),表示队伍数量。接下来t行,每行第一个整数是这支队伍的人数,后面接着是这支队伍每个人的号码。号码范围是0 ~ 999999。每支队伍的人数不超过1000人。接下来是一个指令序列。有3种指令: ENQUEUE x - 元素x进队 DEQUEUE - 队首元素出队 STOP - 本测试用例结束 当t==0时,输入结束。 警告:每个测试用例可以包含多达20万条指令,因此"队伍队列"的实现算法必须非常高效率,进队和出队的操作的时间复杂度应该是常数时间,即O(1)。 Output 对每个测试用例,首先输出一行:"Scenario #k",其中k表示第几个测试用例。接下来,对每个出队操作,输出那个出队的元素,一个一行。 每个测试用例的后面输出一个空行,最后一个也不例外。 Sample Input 2 Sample Output Scenario #1 Source 样例输入2 样例输出Scenario #1 作者 |