Skip to content

11342: 【原1342】zjsx

题目

题目描述

author: Online Judge 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/1342 ## 题目描述

听人说,坊间公认的世界上最残暴的比赛——浙江省选又开始了!

听人说,不少厉害的oier已经身败名裂,不得不扛起锄头,回家养猪种地去了。

听人说,这些人还是太年轻了一些。要知道三年前死神一试失意的时候,他们还不知道在哪个有名或者无名的初中的教室里背诵语文课本上的“出师未捷身先死,长使英雄泪满襟”呢!

话说死神挂完省选以后,开了一家享誉全国的狗场,成为了江南第一流的狗王。无论是白昼还是黑夜,酷暑亦或是飘雪的冬天,犬吠声都是一如既往的此起彼伏,响彻在人烟罕至的旷野。

死神的狗场里有很多很多的狗,而这些狗都是天底下顶聪明的狗,因而每只狗都能清楚记得自己的名字。

狗场里有n个狗圈,由于死神曾经的经历所造成的特殊嗜好,这些狗圈均以栈的形式给出。死神没事情做的时候,就天天变着法儿百般刁难这些狗。

他先让它们都跑到田野边的小路上安静地坐好,接着开始喊命令。 若是死神喊了push i name,那么名字为name的狗就会乖乖钻进第i个狗圈;

若是死神喊了pop i,那么位于第i个狗圈栈顶的狗就要让出属于自己的位置,并且和其他在外面的狗一起坐在草地里看星星。因为死神的记性不是很好,所以第i个狗圈很有可能是空的,而这时自然是什么都不会发生;

若是死神喊了put i j,则第j个狗圈的狗就会依次跑出来,然后再按照它们原先进圈的顺序钻进第i个狗圈。当然死神也会喊出类似put i i这样的命令,听话的狗儿便也会按照要求它们做的去做,这一点并不劳我们费心。

若是死神喊了top i,那么位于第i个狗圈栈顶的狗就要告诉死神自己的名字,嗯,这听起来也许一点儿也不荒谬。倘若第i个狗圈里并没有狗,那么蹲在死神左手边的狗就会悄悄对死神说一个“Empty!”,以保证死神不会一直就这么等下去。

由于死神养着太多太多的狗,所以他就拥有很多很多的狗圈,也就有了越来越多的命令。现在,死神需要一个程序,一个可以把他听到的声音记下来的程序。

输入说明

第一行唯一的整数test,表示数据组数;

接下来test块,每块第一行两个整数n,m,意指狗圈数与命令数;

紧接着m行,以题目给定的形式给出,分别表示每一条命令;

输出说明

输出test块,具体要求参见样例;

Sample Input

1
318
push 1 shy_one
push 2 shy_two
push 3 shy_three
push 3 shy_four
top 1
top 2
top 3
put 1 3
pop 2
top 1
top 2
top 3
pop 1
top 1
pop 1
top 1
pop 1
top 1

Sample Output

Case1:
shy_one
shy_two
shy_four
shy_four
Empty!
Empty!
shy_three
shy_one
Empty!

数据范围

对于30%的数据,\( n,m \leq 100 \);

另有20%的数据,数据随机;

对于100%的数据,\( test \leq 5,n \leq 10000,m \leq 50000 \),狗的名字只包含大小写字母与下划线且长度不超过20;

Oops! 本题目还没有解答!

助教老师们编题的速度,已经超过了解题的速度!

OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。

如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!