1920: 天才麻将少年

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:4 解决:2

题目描述

前阵子Jimmy酱补番了动漫《SAKI》(中译《天才麻将少女》,坊间俗称《百合麻将少女》、《开挂麻将少女》),从此喜欢上了日本麻将(简称为日麻),还专门去学习了日麻的规则,然后就踏上了雀龙门(一款日麻网游)的征程……玩游戏里的麻将要比现实中的麻将方便多了,不用洗牌,自动摸牌等等,其中最关键的功能是当你听牌时系统会提示你哪些牌可以和。Jimmy酱最喜欢这个功能了,因为他只会开挂,却不知道怎样和牌。现在请你用程序来帮帮Jimmy酱,看看他手里的牌能和哪些牌。   PS:《SAKI》第二季终于在今年4月播出了,Jimmy酱又可以欣赏各种NB外挂了。   Jimmy酱通过学习知道了这些规则: 1. 麻将牌分为数牌和字牌。数牌包括:1~9万、1~9筒、1~9索共27种牌。字牌包括:东、南、西、北、白、发、中7种。每种牌有4张,所以一副麻将共有(27+7)x4=136张牌。 2. 麻将是一种以凑齐14张牌为目标的游戏,而这14张牌必须可以拆分成1个雀头和4个面子的牌型(七对子和国士无双不在Jimmy酱的理解范围之内)。雀头就是两张相同的牌,比如两张3索。面子又可以分为顺子和刻子:顺子就是同类型数牌中三张数字相邻牌,比如2万3万和4万等等,但1万2万9万、6筒7筒8索这些数字不相邻或者种类不相同的牌不能称为顺子;刻子就是数牌或字牌中三张相同的牌,比如三张7筒,三张北等等。 3. 和(hú)牌:凑齐1个雀头和4个面子的14张牌的状态就称为和牌。 4. 听牌:仅差1张牌就凑齐和牌的13张牌的状态称为听牌。 5. 麻将一般是4人游戏,每人手里持有13张牌,通过轮流先摸牌后打牌来完成听牌到最后和牌。 为了方便程序读写,我们将34种麻将牌与数字一一对应:1~9代表1~9万,11~19代表1~9筒,21~29代表1~9索,31~37分别代表东、南、西、北、白、发、中。

输入

多样例输入。第一行是样例个数T (T<100)。之后T行每行是一个样例。每个样例包含13个数字,数字之间用空格隔开,每个数字分别代表一张牌,数字保证一定有对应的麻将牌即{ n | n∈[1, 9]∪[11, 19]∪[21, 29]∪[31, 37] },并且同一数字出现次数不会超过4次。

输出

每个样例输出一行:对于听牌的样例,按照升序输出可以和哪些牌,数字之间用空格隔开;对于没听牌的样例,输出“none”。

样例输入 复制

6
1 2 2 3 3 4 7 7 8 8 31 31 31
3 3 3 4 5 6 7 8 8 8 31 31 31
2 2 2 2 3 4 5 7 7 7 8 8 8
3 4 5 6 7 12 13 14 17 18 19 34 34
1 2 3 11 12 13 21 22 23 8 9 18 19
1 9 11 19 21 29 31 32 33 34 35 36 37

样例输出 复制

7 8
2 3 4 5 6 7 8 9
5 6
2 5 8
none
none

提示

以下{}表示面子,[]表示雀头,()里是和的牌 样例1的情况 {1 2 3}, {2 3 4}, {7 7 (7)}, [8 8], {31 31 31} 或者 {1 2 3}, {2 3 4}, [7 7], {8 8 (8)}, {31 31 31} 样例2的情况 [3 3], {3 4 (2/5)}, {5 6 7}, {8 8 8}, {31 31 31} 或者 {3 3 (3)}, {3 4 5}, {6 7 8}, [8 8], {31 31 31} 或者 {3 3 3}, [4 (4)], {5 6 7}, {8 8 8}, {31 31 31} 或者 {3 3 3}, {4 5 6}, {7 8 (6/9)}, [8 8], {31 31 31} 或者 {3 3 3}, {4 5 6}, [7 (7)], {8 8 8}, {31 31 31} 或者 [3 3], {3 4 5}, {6 7 8}, {8 8 (8)}, {31 31 31} 样例3的情况 {2 2 2}, {2 3 4}, [5 (5)], {7 7 7}, {8 8 8} 或者 {2 2 2}, {2 3 4}, {5 (6) 7}, [7 7], {8 8 8} 但要注意因为四张2万都在手里,没有第5张2万, {2 2 2}, [2 (2)], {3 4 5}, {7 7 7}, {8 8 8} 不成立 所以2万不是一个可以和的牌

来源/分类