1900 5张牌游戏


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 32M

Problem types
Allowed languages
C, C++, Java, Python

Description

5张牌游戏是每人从52张扑克(除去大小王)拿5张牌,比大小,排座次。牌面依次为1,2,3,4,5,6,7,8,9,A,B,C,D。其中A代表10,B代表J,C代表Q,D代表K。5张牌按从大到小依次为:

  1. 炸弹:五张中有四张相同。例如:3,2,2,2,2

  2. 三带二:5张中有三张头加一个对子。例如:7,7,4,4,4

  3. 顺子:5张连续。例如:8,9,A,B,C

  4. 三张头:5张中有三张头加二张不同牌。例如:6,6,6,B,1

  5. 二对:5张中含两个对子。例如:C,C,7,7,D

  6. 一对:5张中含一对。例如:B,B,2,3,8

  7. 乱张:5张乱牌。例如:2,6,7,A,B

如果同是炸弹,那么,就看四张头的牌谁大,如果都是二对,那么就比大的对子,然后再比小的对子。乱张也有大小,从最大的牌张开始比。

现在要求将拿到的5张牌按从大到小排列。这个可得你来了。

Input

多组数据。每组数据第一行为一个正整数n(1<=n<=10),表明后跟有n个人拿的5张牌。

Output

从大到小输出每组数据,组间空一行。组内数据5张牌一行一行输出,牌张输出规则:“炸弹”先输出四张头,“三带二”先输出三张头,“顺子”按从大到小,“三张头”则先输出三张头,“二对”先大对子,再小对子,“一对”先输出一对,“乱张”则从大到小输出。

Sample

Input

5
6 2 3 5 4
1 2 9 A A
1 1 1 1 B
2 1 2 2 C
7 D 6 7 D

Output

1 1 1 1 B
6 5 4 3 2
2 2 2 C 1
D D 7 7 6
A A 9 2 1

Source: qn


Comments

There are no comments at the moment.