问题 1194 --数字麻将

1194: 数字麻将★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 84  解决: 53
[提交][状态][命题人:]

题目描述

数字麻将只包括1~9的数字,每种相同数字的牌最多只能有4张,胡牌的规则是AA + x * (ABC) + y * (AAA),其中AA/AAA表示2张/3张相同数字的牌,ABC表示是三张数字相连的牌,x和y为自然数。听牌是指再增加某一张特定牌后就能胡牌了。如1 1 1 2 3 3 3的听牌为1,2,3或4. 听1时:111+123+33;听2时:111+22+333;听3时:11+123+333;听4时:111+234+33。给定一系列的牌,请编程判断是否听牌。

输入

第一行为整数k,表示有k组测试数据。
每组测试数据占一行,每组测试数据的第一个数为n,表示有n张麻将牌。后面跟有n个整数,表示每张麻将牌数字。

输出

如果没有听牌,则输出“NO!”,否则按递增顺序输出每张听牌。
样例输入
Copy
4
4 1 1 3 4
7 1 2 4 5 7 7 8
7 1 1 1 2 3 3 3
10 1 2 3 4 4 5 6 7 8 9
样例输出
Copy
2 5
NO!
1 2 3 4
1 4 7

提示

来源

 

[提交][状态]