#L0174. 栈的基本操作

栈的基本操作

题目描述

请你实现一个栈(stack),支持如下四种操作:

  • push(x):将整数 xx 压入栈中。
  • pop():弹出栈顶元素。如果栈为空则不执行弹出,转而输出 Empty
  • query():查询并输出栈顶元素。如果栈为空则输出 Anguei!
  • size():输出当前栈中的元素个数。

输入格式

本题单测试点内有多组数据

输入第一行是一个整数 TT,表示数据组数。每组数据格式如下:

第一行是一个整数 nn,表示操作次数。

接下来 nn 行,每行一个操作指令:pushpopquerysize 之一。若为 push,后面跟一个空格和一个整数 xx

输出格式

对于每组数据中的每次需要输出的操作,按顺序各占一行。

样例

2
5
push 2
query
size
pop
query
3
pop
query
size
2

1 Anguei! Empty Anguei! 0

</p>

提示

样例 1 解释

第二组数据中栈始终为空,因此 popquery 分别输出对应提示字符串,size 输出 00

数据规模与约定

对于全部测试点,保证 1T,n1061 \le T, n \le 10^6,且单个测试点内所有 nn 之和不超过 10610^6。保证 0x<2640 \le x \lt 2^{64}

提示

  • 请注意大量数据读入对程序效率的影响。
  • 输出的 Empty 不含叹号,Anguei! 含有叹号。
难度 普及-
通过率
尝试 0
已通过 0
ID
902
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者