3143:L2-1 栈

时间限制:1 S   /  内存限制:65536 KB
AC:8   /  Submit:101
问题描述

栈是一种线性数据结构,其中所有元素的插入和删除都在一端进行,这一端被称为栈的顶部。

现在给出两个初始为空的栈 A,B 和以下三种操作:

1️⃣ push c x :向栈 c 插入整数 x 。例如 push A 5 表示向栈 A 插入元素 5

2️⃣ pop c :删除栈 c 的顶部元素。例如 pop B 表示删除栈 B 的顶部元素

3️⃣ merge a b :把 a,b 两个栈的元素全部取出,按照它们各自入栈的先后顺序全部插入至栈 a

现在你要做的是,针对每次 pop 操作,输出被删除的元素值。

输入描述

第一行是一个正整数$$n$$表示操作的次数。

接下来$$n$$行,每行一个如描述中的三种操作之一。

输出描述

针对每个 pop 操作,在一行中输出被删除的元素值,如果栈为空,则输出 EMPTY

样例输入复制样例

8

push A 1

push B 2

push A 3

pop A

merge B A

pop B

pop B

pop B

样例输出

3

2

1

EMPTY

提示说明

有$$40\%$$的数据,$$1 \le n \le 5000$$。

有$$40\%$$的数据,只有$$push$$和$$pop$$操作。

对于$$100\%$$的数据,$$1 \le n,x \le 10^5$$。

建议使用较快的输入输出方式。

相关

2025天梯赛校内选拔赛


Copyright 2016 - 2025 XUJC ACM Team
闽ICP备2020022076号-1