SP22553 PRJAN15F - Stack Overflow

题目描述

初始有 $n$ 个空栈。有 $q$ 个操作: 1. `push i x`:把 $x$ 放进第 $i$ 个栈。 2. `pop i`:弹出第 $i$ 个栈的栈顶。如果第 $i$ 个栈已经空,那么忽略这个操作。 3. `put i j`:把第 $j$ 个栈放在第 $i$ 个栈上(不改变顺序)。 4. `top i`:输出第 $i$ 个栈的栈顶。

输入格式

第一行 $t$:表示有 $t$ 组数据。 接下来有 $t$ 组数据: - 每组数据的第一行是 $n$ 和 $q$。

输出格式

每组数据的第一行是该组数据的编号。 以下为对于每个4操作的回答。 ## 样例输入 ``` 1 3 18 push 1 1 push 2 2 push 3 3 push 3 4 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 ``` ## 样例输出 ``` Case 1: 1 2 4 4 Empty! Empty! 3 1 Empty! ```

说明/提示

$1\leq n\leq 10^4$。 $1\leq q\leq 5\times10^4$。 ###### **翻译者 [90693](/user/90693)**。