题目大意:和hdu4431差不多

就是胡的方法只有hdu4431的第一种

然后sbc,scmp这些表示牌的字符不同

要注意的还有输出牌的顺序(s,b,c)

AC代码

#include<bits/stdc++.h>
using namespace std;
int T,n,i,j,ans,answer[1000];
string str;
int have[100];
int sum[100],t;
int num(string str)
{int t=str[0]-'1';if(str[1]=='s')t+=0;else if(str[1]=='b')t+=9;else if(str[1]=='c')t+=18;return t;
}
bool ok4X3()
{int ret=0,tmp[35];for(int i=0; i<27; i++)tmp[i]=sum[i];for(int i=0; i<=18; i+=9)for(int j=0; j<9; j++){if(tmp[i+j]>=3)tmp[i+j]-=3,ret++;while(j+2<9&&tmp[i+j]&&tmp[i+j+1]&&tmp[i+j+2])tmp[i+j]--,tmp[i+j+1]--,tmp[i+j+2]--,ret++;}if(ret==4)return true;return false;
}
bool ok1()
{for(int i=0; i<27; i++){if(sum[i]>=2){sum[i]-=2;if(ok4X3()){sum[i]+=2;return true;}sum[i]+=2;}}return false;
}bool ok()
{for (int i=0;i<=26;i++)if(sum[i]>4)return false;if(ok1())return true;return false;
}
int main()
{scanf("%d",&T);while (T--){t++;memset(sum,0,sizeof(sum));memset(answer,0,sizeof(answer));ans=0;for (i=1; i<=13; i++)cin>>str,have[i]=num(str),sum[have[i]]++;for (i=0; i<=26; i++){have[14]=i;sum[have[14]]++;if(ok()){ans++;answer[ans]=i;}sum[have[14]]--;}printf("Case %d:",t);if(ans){for (i=1; i<=ans; i++){printf(" %d",(answer[i]%9)+1);if(answer[i]/9==0)printf("s");else if(answer[i]/9==1)printf("b");else if(answer[i]/9==2)printf("c");}puts("");}else puts(" None");}return 0;
}

转载于:https://www.cnblogs.com/Orange-User/p/7797224.html

HDU - 3391 Mahjong相关推荐

  1. hdu 44313391 Mahjong 枚举,判断

    hdu 4431 Mahjong 3391也是差不多的题,但是没有字牌应该简单一点. 我说这个题是一个暴力应该没什么问题,就是判断的时候非常麻烦. 题意 说说打的是日本麻将,不过好像中国的麻将也都是这 ...

  2. HDU 4431 Mahjong(模拟题)

    题目链接 写了俩小时+把....有一种情况写的时候漏了...代码还算清晰把,想了很久才开写的. 1 #include <cstdio> 2 #include <cstring> ...

  3. 2019年第五届计蒜之道复赛总结

    又是一年计蒜客,沙雕ACMer欢乐多 热心市民yzm10按捺不住冲动,在期末期间又打了一场比赛. 赛点:204(与罚时惊人的相似) 做完两题排在一百多名,以为稳了(其实后面做不动了)比到一半就开始挂机 ...

  4. 【HDU 4352】 XHXJ's LIS (数位DP+状态压缩+LIS)

    XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. HDU题目分类大全【大集合】

    基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.  1032.1037.1040.1048.1056.105 ...

  6. 转载:Hdu 题目分类

    原址点击 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056. ...

  7. HDU 4352 XHXJ's LIS(*数位DP 记忆化搜索 待整理)

    XHXJ's LIS HDU - 4352 #define xhxj (Xin Hang senior sister(学姐))  If you do not know xhxj, then caref ...

  8. hdu与poj题目分类

    POJ 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(po ...

  9. hdu HDOJ 题目分类(转)

    动态规划:2037 2054 2084 hdu题目分类(转) http://apps.hi.baidu.com/share/detail/17053154 1001 整数求和 水题 1002 C语言实 ...

  10. HDU——1106排序(istringstream的使用、STLvector练习)

    排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

最新文章

  1. Android 开发笔记“关闭默认键盘”
  2. 如何 ssh 到内网服务器?
  3. 用ABAP代码读取S/4HANA生产订单工序明细 1
  4. JavaScript Unicode字符操作
  5. 六张图|教开发者该如何应对“中年危机”
  6. 矩阵论16 17 18 19
  7. 【Unity3D应用案例系列】Unity3D中实现《3D照片墙》
  8. 无盘服务器pnp,锐起无盘PNP有哪些配置类型
  9. svn连接工具tortoiseSVN
  10. pthread之条件变量pthread_cond_t
  11. 海康测温门禁一体机DS-K5604SD-A
  12. 逆向学习之Hook技术
  13. Linux网络编程8——线程池模型
  14. Java开发人员必须掌握的Linux命令(二)
  15. CF1326E Bombs(思维题)
  16. Java—ISBN号码问题
  17. 环境问题-无外接显示屏(虚拟显示屏)远程控制Ubuntu
  18. win10下anaconda、tensorflow-cpu以及tensorflow-gpu安装
  19. android 应用未验证,解决微信分享显示“未验证应用”问题。
  20. 中标麒麟桌面操作系统7.0安装QT5.9.9完整教程(附安装包)

热门文章

  1. 苹果Mac 下 Parallels Desktop “无法连接到 Parallels 服务”如何解决?
  2. 用6种方法,教你如何解决Finder持续崩溃的问题!
  3. 小程序开发中遇到的坑
  4. 中兴2018年上半年业绩惨不忍睹,押宝5G建设能否让其起死回生?
  5. 数据挖掘面试题之梯度提升树
  6. Cache【硬盘缓存工具类(包含内存缓存LruCache和磁盘缓存DiskLruCache)】
  7. 兼容IE8遇到的问题
  8. [分享] 微信支付中商户对个人用户付款案例
  9. Mellanox infinoband RDMA SDP
  10. Hibernate性能优化2( 转)