维护
N(1≤N≤2000)
个操作, 可能的五种操作如下:
PUSH: 在栈顶加入一个空集合
A={}
;
DUP: 把栈顶集合
A
复制一遍再加进去;
UNION: 弹出栈顶集合
A
及其下集合
B
, 把它们的并集加入栈;
INTERSECT: 弹出栈顶集合
A
及其下集合
B
, 把他们的交集加入栈;
ADD: 弹出栈顶集合
A
及其下集合
B
, 把栈顶集合
A
作为一个元素加入集合
B
, 再把集合
B
加入栈中.
对于每个操作, 输出栈顶集合
A
中的元素个数.
思路:STL的各种应用,注意Add的时候要注意,本来判断是否出现这个集合,没有的话, 才设置一个唯一值再加入集合,但是这样不对,不管是否出现都加入才对
#include
#include
#include
#include
#include