「JoyOI1092」麻将

2014年1月3日3,4150

题目描述

众所周知,麻将是我们国家的国粹。这段时间,小D也迷上了麻将这个老少皆宜的游戏。 小D觉得这些不同规则的麻将太麻烦了,所以他集合了很多种麻将规则创造出了一套D麻将。下面是D麻将的几个特点: D麻将中有三种花色,万(w)索(s)筒(t),每个花色下有9张牌,每张牌有4个。 D麻将中没有杠牌,只有顺子和刻子。顺子的含义是相同花色的三张连在一起的牌型(比如说2w3w4w);刻子的含义是三张花色和数字都相同的牌型(比如说2s2s2s)。 D麻将的胡牌的时候手上往往有14张牌,14张牌凑成了四个顺子或刻子和两张一样的牌做雀头就可以胡牌了。 D麻将胡牌的时候有很多种不同的牌型,不同的牌型会有不一样的番数。你的一种牌型可能满足了多个加番牌型,满足多个的情况下就把所有满足的牌型的番数全部加起来计算。 D麻将中有如下牌型可以加番: 平和(一番):4个顺子组成; 断幺九(一番):胡牌的时候手上只有2-8的数字组成的牌型; 一杯口(一番):同花色同数值的顺子两组; 混全带幺九(一番):全部的顺子,刻子中都含有数字1或9; 三色同顺(一番):三种花色同数值的顺子各一组; 一气贯通(一番):由同花色一至九组成顺子; 一色三顺(两番):同花色同数值顺子三组; 对对和(两番):四组刻子; 两杯口(三番):由两组不同的一杯口组成; 三色同刻(三番):三种花色同数值的刻子各一组; 清一色(六番):全部由同一种花色的顺子,刻子及雀头组成; 清老头(六番):全部由1或9的刻子和雀头组成; 比如说一个牌型为1s2s3s4s5s6s7s8s9s1s2s3s9s9s的牌,它满足了平和、一杯口、一气贯通、清一色四个牌型,所以它的番数是9番。 小D希望为D麻将做一个程序来帮忙判断这个牌型的番数是多少。

输入

输入第一行一个测试组数T。 接下来T行每行一个字符串s,表示需要判断番数的牌型。length(s)=28

输出

输出有T行每行一个整数,表示判断牌型的番数为多少。

样例输入

1 1s2s3s4s5s6s7s8s9s1s2s3s9s9s

样例输出

9

提示

 

数据范围很小可忽略不计  .. BT模拟题  ..  消磨时间用  ..

 

代码

这个是我的做法,比较短,但是可能有漏洞

网上搜来的480行的题解

 

avatar
  Subscribe  
提醒