P4940 Portal 2

题目背景

某地 ENLIGHTENED 的“XM 研究所”正在研究 Portal 的处理法则,想要揭示“XM 能量”的来源以及应用“XM 能量”。ENLIGHTENED 的首席科学家 Jacks 发现其能量的运算法则以及运算方法,但是方法十分复杂,仅靠人手工计算是很难算出答案的,所以它需要你协助他完成计算。

题目描述

Portal 计算“XM 能量”是通过个 $2$ 个栈($0$ 号栈、$1$ 号栈)实现的,它把对“XM 能量”的操作如下: - `PUSH X NUM`:把 $NUM$ 加入到 $X$ 号栈的栈顶。 - `POP X`:把 $X$ 号栈的栈顶元素**删除**。 - `ADD X`:**取出** $0$ 号栈和 $1$ 号栈的元素各一个,并且把它的和放入 $X$ 号栈。 - `SUB X`:**取出** $0$ 号栈和 $1$ 号栈的元素各一个,并且把它的差的绝对值放入 $X$ 号栈。 - `DEL X`:**清空** $X$ 号栈中所有元素不管栈是否为空。 - `MOVE X Y`:循环操直到 $Y$ 号栈为空,把 $Y$ 号栈的栈顶元素加入到 $X$ 号栈,删除 $Y$ 号栈的栈顶元素(**数据保证 $X$ 和 $Y$ 不相同**)。 - `SWAP`:将两个栈的所有元素调换。 - `END`:代表命令结束,并且分两行分别输出 $0$ 号栈和 $1$ 号栈由栈顶到栈底的元素的值,若栈内无元素,输出 `NONE`。数据保证指令以 `END` 结束且仅有一个 `END`,并且也需要输出 `SUCCESS`。 - ~~`AKNOI` 等为无效操作,**无效操作后不接数字**。~~**更正不会有类似无效操作**。 对于每一行指令,若当前指令成功执行输出 `SUCCESS`,若**取出**或**删除**元素时栈内为空或者没有对应指令输出 `UNSUCCESS` 并且不执行该行指令。

输入格式

输入若干行指令,以 `END` 指令结束。

输出格式

对于每一次操作,都要对应输出 `SUCCESS` 或者 `UNSUCCESS`,对于 `END` 根据指令描述输出栈内元素。

说明/提示

设命令总数为 $n$。 对于 $20\%$ 的数据,数据保证不会出现 `MOVE,SWAP` 操作,$1\le n \leq 100$; 对于 $40\%$ 的数据,$1\le n \leq 1000$; 对于 $60\%$ 的数据,数据保证 `MOVE,SWAP` 的操作次数不会超过 $10000$ 次,$1\leq n \leq 10^5$; 对于 $100\%$ 的数据,$0 \leq X,Y \leq 1,1\leq n \leq 10^6$; **数据保证无论任何情况,栈中元素的值 $X$ 满足 $0 \leq X \leq 2^{63}-1$。** [题目创意来源 OIERBBS](https://www.oierbbs.cn)。