#B. 【模板】栈

    Type: RemoteJudge 1000ms 128MiB

【模板】栈

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

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

  • push(x):向栈中加入一个数 xx
  • pop():将栈顶弹出。如果此时栈为空则不进行弹出操作,输出 Empty
  • query():输出栈顶元素,如果此时栈为空则输出 Anguei!
  • size():输出此时栈内元素个数。

输入格式

本题单测试点内有多组数据
输入第一行是一个整数 TT,表示数据组数。对于每组数据,格式如下:
每组数据第一行是一个整数,表示操作的次数 nn
接下来 nn 行,每行首先由一个字符串,为 pushpopquerysize 之一。若为 push,则其后有一个整数 xx,表示要被加入的数,xx 和字符串之间用空格隔开;若不是 push,则本行没有其它内容。

输出格式

对于每组数据,按照「题目描述」中的要求依次输出。每次输出占一行。

2
5
push 2
query
size
pop
query
3
pop
query
size
2
1
Anguei!
Empty
Anguei!
0

提示

样例 1 解释

对于第二组数据,始终为空,所以 popquery 均需要输出对应字符串。栈的 size 为 0。

数据规模与约定

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

提示

  • 请注意大量数据读入对程序效率造成的影响。
  • 因为一开始数据造错了,请注意输出的 Empty 不含叹号,Anguei! 含有叹号。

信息学入门&普及选修课第三课——队列和栈

Not Claimed
Status
Done
Problem
2
Open Since
2023-10-27 0:00
Deadline
2023-11-13 23:59
Extension
24 hour(s)