题号:NC253265
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
小 T 喜欢日本麻将。他特别喜欢做役满,所以他给你了一副牌,问你这个牌是否役满,如果役满,请输出胡的牌形。
输入描述:
第一行输入一个正整数 n,表示未副露的牌的数量(保证合法)接下来 n 个字符串,最后一张表示摸进来的牌。
接下来输入一个正整数 m,表示副露的牌的数量(保证合法,保证副露的是明杠或者碰,没有其他吃或暗杠)接下来 m 个字符串,表示副露的牌。
输出描述:
第一行一个整数,表示是否役满,若没有听牌或者没有役满输出0,否则输出1。
若第一行输出1,则第二行输出胡的役满牌型。若有多种,按照编号从小到大输出,每个之间用空格分隔。
若第一行输出1,则第三行输出役满的倍数
四暗刻 1
四暗刻单骑 2
大三元 3
国士无双 4
国士无双十三面 5
字—色 6
绿—色 7
小四喜 8
大四喜 9
清老头 10
九莲宝灯 11
纯正九莲宝灯 12
四杠子 13
示例1
输入
复制
14
1p 1p 1p 2p 3p 4p 5p 6p 7p 8p 9p 9p 9p 2p
0
备注:
注:考虑日本麻将的胡牌方式,不考虑古役。