TopCoder

User's AC Ratio

NaN% (0/0)

Submission's AC Ratio

NaN% (0/0)

Tags

Description

小緯很喜歡玩抽鬼牌,喜歡到研發了一種自己一人也能玩的玩法,甚至還因此網購了傳說中的無限撲克牌:

  • 每種卡牌有「花色」、「點數」兩項資訊,一共有 $4$ 種花色與 $13$ 種點數,共 $52$ 種正牌。
  • 四種花色分別為「黑桃」、「紅心」、「方塊」、「梅花」四種,其中黑桃與梅花是黑色、紅心與方塊則為紅色。
  • 除了正牌之外還有一種「小丑」卡牌。
  • 每一種牌都有無限多張。
  • 小緯一開始有 $N$ 張手牌,每一回合會進行「抽牌」與「被抽牌」之中的某一種操作。
  • 為了營造真實的抽鬼牌體驗,小緯手中有兩張點數、顏色相同且花色不同的卡牌時,就可以將他們從手牌移除。
  • 小丑牌不能與任何其他卡牌配對。
  • 因為是自己一個人玩,所以就算沒手牌了還是可以繼續玩。

雖然你也許不想跟小緯一起玩抽鬼牌,但希望你至少可以幫助小緯模擬單人遊戲的過程。

Input Format

輸入的第一行包含兩個整數 $N\ (1 \le N \le 13), M\ (1\le M\le 10^ 3)$,代表小緯的起始手牌數以及遊戲的回合數,兩者以空白分隔。
第二行包含 $N$ 個字串,代表小緯所有的卡牌資訊,卡牌資訊為三個字元所組成,第一個字元代表花色,SHDC 分別代表黑桃、紅心、方塊、梅花,後面兩個字元代表點數,從 0113 代表 $1$ 到 $13$ 點,小丑牌則是 JKR,每筆卡牌資訊之間以空格分隔。
接下來的 $M$ 行之中,第 $i$ 行包含了一個整數以及一個字串,分別代表第 $i$ 回合操作的種類以及該操作所對應的卡牌 $C$,兩者以空格分隔:
- 操作 1,抽入卡牌 $C$
- 操作 2,手中的卡牌 $C$ 被抽走,如果此時手中沒有卡牌 $C$,則跳過這筆操作。

Output Format

請輸出遊戲結束時,小緯的手牌資訊,手牌資訊請按照點數大小,由小到大排列,若點數相同,則依照「梅花」、「方塊」、「紅心」、「黑桃」的順序排列,而小丑牌必定會放在最後面,每筆卡牌資訊之間以空格分隔。
如果遊戲結束時,小緯手中沒有任何牌,就輸出 empty

Sample Input 1

5 5
D05 JKR S13 C01 C11
1 S11
2 JKR
1 D12
1 S13
1 S13

Sample Output 1

C01 D05 D12 S13 S13 S13

Sample Input 2

3 5
D01 JKR C12
2 JKR
2 D01
2 C12
1 JKR
2 JKR

Sample Output 2

empty

Hints

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資 0
2 0~17 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 2
1 1000 524288 65536 1 2
2 1000 524288 65536 2
3 1000 524288 65536 2
4 1000 524288 65536 2
5 1000 524288 65536 2
6 1000 524288 65536 2
7 1000 524288 65536 2
8 1000 524288 65536 2
9 1000 524288 65536 2
10 1000 524288 65536 2
11 1000 524288 65536 2
12 1000 524288 65536 2
13 1000 524288 65536 2
14 1000 524288 65536 2
15 1000 524288 65536 2
16 1000 524288 65536 2
17 1000 524288 65536 2