【题目描述】

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

断幺九(两番):胡牌的时候手上只有2-8的数字组成的牌型;

一色三顺(三番):同花色同数值顺子三组;
两杯口(三番):由两组不同的一杯口组成;
三色同刻(四番):三种花色同数值的刻子各一组;

清老头(五番):全部由1或9的刻子和雀头组成;
清一色(七番):全部由同一种花色的顺子,刻子及雀头组成;
比如说一个牌型为1s2s3s4s5s6s7s8s9s1s2s3s9s9s的牌,它满足了平和、一杯口、一气贯通、清一色四个牌型,所以它的番数是10番。
小D希望为D麻将做一个程序来帮忙判断这个牌型的番数是多少。

【输入格式】

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

【输出格式】

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

【样例输入】

1
1s2s3s4s5s6s7s8s9s1s2s3s9s9s

【样例输出】

10

这种简单粗暴的强模拟题,上次写USACO的麻将就写的想***,这次写到一半就想吐了。。。

不行,我要留坑(弃坑)

 #include<iostream>
#include<cstring>
using namespace std; int T;
int mj[],C[]; int convert(int i,char ch)
{
int t;
switch(ch)
{
case 'w':
t=;
break;
case 's':
t=;
break;
case 't':
t=;
}
return t+i;
} bool work1(int dep)
{
for(int i=;i<=;i+=)
for(int j=;j<=;j++)
{
if(C[i+j]>&&C[i+j+]>&&C[i+j+]>)
{
if(dep>=) return true;
C[i+j]--;C[i+j+]--;C[i+j+]--;
if(pinghe(dep+)) return true;
C[i+j]++;C[i+j+]++;C[i+j+]++;
}
}
return false;
} bool work2()
{
for(int i=;i<=;i++)
{
if(C[i]>&&C[i+]>&&C[i+]>&&C[i+]>&&C[i++]>&&C[i++]>) return true;
if(C[i]>&&C[i+]>&&C[i+]>&&C[i+]>&&C[i++]>&&C[i++]>) return true;
if(C[i+]>&&C[i++]>&&C[i++]>&&C[i+]>&&C[i++]>&&C[i++]>) return true;
}
return false;
} bool work3()
{ } int main()
{
cin>>T;
while(T--)
{
int n;char ch;
memset(C,,sizeof(C));
for(int i=;i<;i++)
{
scanf("%d%c",&n,&ch);
mj[i]=convert(n,ch);
}
for(int i=;i<;i++)
C[mj[i]]++;
}
return ;
}

NOIP模拟赛 麻将的更多相关文章

  1. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  2. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  3. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  4. 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程

    数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...

  5. 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...

  6. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

  7. 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...

  8. CH Round #58 - OrzCC杯noip模拟赛day2

    A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...

  9. CH Round #52 - Thinking Bear #1 (NOIP模拟赛)

    A.拆地毯 题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20-%20Thinking%20Bear%20%231%20(NOI ...

随机推荐

  1. thinkPHP5 tablib标签库自定义方法

    具体可以参照thinkphp\library\think\template\taglib\Cx.php这里面的写法我在common模块下新建了一个文件夹taglib,新建了一个Test.php文件 n ...

  2. Python-12-简单推导

    列表推导:从其他列表创建列表 >>> [x * x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 下面实现只打印能 ...

  3. CC18:二叉树平衡检查

    题目 实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1. 给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡 ...

  4. 寒假作业第二组E题题解

    注意看题,注意看题,注意看题.重要的事情三遍感觉都不够.不怕大家笑话,这道题RuntimeError 9次,我一直以为是哪里越界了,结果最后发现的时候,真是无语了,题目里说了,所有的integer都不 ...

  5. sublime下Docblocker插件自定义配置

    1.下载安装Docblocker插件 栏目preferences-->Package Control 输入 Docblocker 搜索插件,单击安装 简单使用: 在函数头部输入: /**   按 ...

  6. python 6 循环

    循环 要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直接写表 ...

  7. JavaSE---悲观锁与乐观锁

    1.[悲观锁] 1.1 在数据处理的整个过程中,数据将处于锁定状态: 1.2 悲观锁的实现,依赖于数据库提供的锁机制(只有数据库提供的锁机制才能真正保证数据访问的排他性,否则,即使在系统中加锁机制,也 ...

  8. Ubuntu下安装nginx及使用

    首先介绍以下nginx.下图来自百科介绍:详细介绍地址:https://baike.baidu.com/item/nginx/3817705?fr=aladdin 在我们平时的开发娱乐中,也许并不会涉 ...

  9. 《springcloud 五》springcloud stream

    什么是消息驱动? SpringCloud Stream消息驱动可以简化开发人员对消息中间件的使用复杂度,让系统开发人员更多尽力专注与核心业务逻辑的开发.SpringCloud Stream基于Spri ...

  10. (译)Cg Programming/Unity(Cg编程/Unity)

    最近在学习Unity3d中的shader编程,能找到的中文资料比较少,于是,尝试翻译一下wiki Books上的资料,以方便其他跟我一样的入门学习者.由于是第一次翻译技术资料,经验不足,难免出错,请路 ...