a622. CPE:The SetStack Computer (UVa 12096)

中等CPE

時間限制 2000 ms ・ 記憶體限制 256 MB

題目描述

SetStack 電腦的堆疊元素是集合,集合中也可包含其他集合。初始堆疊為空,支援五種操作:

  • PUSH:把空集合推入堆疊。
  • DUP:複製頂端集合,再推入一份。
  • UNION:取出頂端兩個集合,推入它們的聯集。
  • INTERSECT:取出頂端兩個集合,推入它們的交集。
  • ADD:先取出集合 A,再取出集合 B;把 A 整個作為一個元素加入 B,將所得集合推回。不是把 A 的元素逐個加入 B。

集合不含重複元素,相同集合視為相同元素。每次操作後請輸出堆疊頂端集合的元素數量。

輸入格式

第一行是測試資料筆數 T,0 ≤ T ≤ 5。每筆先有操作數 N,0 ≤ N ≤ 2000,接著 N 行各有一個上述指令。

所有指令都保證合法,不會對空堆疊執行需要取出元素的操作。

輸出格式

每次操作輸出一行頂端集合的元素數。每筆測試資料結束後輸出一行 ***。

題目來源:UVa 12096 — The SetStack Computer。 原題:https://onlinejudge.org/external/120/12096.pdf

範例測資

範例輸入 1

2
9
PUSH
DUP
ADD
PUSH
ADD
DUP
ADD
DUP
UNION
5
PUSH
PUSH
ADD
PUSH
INTERSECT

範例輸出 1

0
0
1
0
1
1
2
2
2
***
0
0
1
0
0
***
請先登入後再提交程式碼

討論與題解

載入討論區…

更多