TopCoder

User's AC Ratio

100.0% (2/2)

Submission's AC Ratio

60.0% (3/5)

Tags

Description

撲克牌的簡介:Wikipedia

繼上次排序完麻將後,芽芽在 Emozon 網站上買了一副特別的撲克牌,這副撲克牌的每種牌都有無限多張。雖然芽芽不是數學家,但他怎麼想都覺得這非常不錯!

已知撲克牌是一種每張由一種花色與一個數字所組成的卡牌,
花色包含:黑桃 Spade、紅心 Heart、方塊 Diamond、梅花 Club;
數字包含:1~13,特別的是,分別使用 A、J、Q、K 來代表 1、11、12、13,
以及在這些正常的牌之外,還有不包含花色和數字的鬼牌 Joker。

我們使用每種花色英文的首字母加上數字來表示一張牌,例如 S3 則代表黑桃 3、HJ 則代表紅心 11,並使用單一字母 J 來表示鬼牌。

請用以下的規則來幫助芽芽由小到大排序撲克牌:

  • 鬼牌 J 是最大的牌

  • 其餘的牌先比較數字大小,
    以由小到大為「A < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < J < Q < K」的順序比較

  • 數字相同時則比較花色,
    以由小到大為「梅花 C < 方塊 D < 紅心 H < 黑桃 S」的順序比較

請注意,這是一副每種牌都有無限多張的撲克牌,所以可能會出現重複的牌。

Input Format

共有兩行。第一行包含一個正整數 N,代表撲克牌的數量,N ≤ 1000;

第二行有 N 個字串,代表 N 張撲克牌。

Output Format

輸出一行,包含依照規則排序過後的撲克牌,每張撲克牌以空白分隔,行末不加空白並輸出換行。

Sample Input 1

5
HQ S3 SJ C7 D3

Sample Output 1

D3 S3 C7 SJ HQ

Sample Input 2

9
J DK S3 J C2 DA S3 HA H7

Sample Output 2

DA HA C2 S3 S3 H7 DK J J

Hints

Problem Source

NEOJ Problem 1111

Subtasks

No. Testdata Range Constraints Score
1 0 10
2 1 10
3 2 10
4 3 10
5 4 10
6 5 10
7 6 10
8 7 10
9 8 10
10 9 10

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 65536 65536 1
1 1000 65536 65536 2
2 1000 65536 65536 3
3 1000 65536 65536 4
4 1000 65536 65536 5
5 1000 65536 65536 6
6 1000 65536 65536 7
7 1000 65536 65536 8
8 1000 65536 65536 9
9 1000 65536 65536 10