题目描述
【模板】栈
题目描述
请你实现一个栈(stack),支持如下操作:
push(x):向栈中加入一个数 。pop():将栈顶弹出。如果此时栈为空则不进行弹出操作,输出Empty。query():输出栈顶元素,如果此时栈为空则输出Anguei!。size():输出此时栈内元素个数。
输入格式
本题单测试点内有多组数据。
输入第一行是一个整数 ,表示数据组数。对于每组数据,格式如下:
每组数据第一行是一个整数,表示操作的次数 。
接下来 行,每行首先由一个字符串,为 push,pop,query 和 size 之一。若为 push,则其后有一个整数 ,表示要被加入的数, 和字符串之间用空格隔开;若不是 push,则本行没有其它内容。
输出格式
对于每组数据,按照「题目描述」中的要求依次输出。每次输出占一行。
输入样例 #1
2
5
push 2
query
size
pop
query
3
pop
query
size
输出样例 #1
2
1
Anguei!
Empty
Anguei!
0
说明/提示
样例 1 解释
对于第二组数据,始终为空,所以 pop 和 query 均需要输出对应字符串。栈的 size 为 0。
提示
- 请注意大量数据读入对程序效率造成的影响。
- 请注意输出的
Empty不含叹号,Anguei!含有叹号。
输入样例 #2
1
18
push 58892145839
size
query
query
size
pop
push 312254605239
pop
size
push 586160799933
push 866392061395
pop
pop
size
push 659764765827
push 1043661837955
query
pop
输出样例 #2
1
58892145839
58892145839
1
0
0
1043661837955
输入样例 #3
1
24
pop
size
push 758023397748
push 273773557426
pop
push 191513322014
push 16855487483
pop
size
pop
size
push 397244808264
pop
push 360380148143
push 161814569173
push 639895888097
size
push 714904624367
push 316227888036
size
size
size
query
query
输出样例 #3
Empty
0
2
1
4
6
6
6
316227888036
316227888036
数据规模与约定
对于全部的测试点,保证 ,且单个测试点内的 之和不超过 ,即 。保证 。