HDU - 3391 Mahjong
题目大意:和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相关推荐
- hdu 44313391 Mahjong 枚举,判断
hdu 4431 Mahjong 3391也是差不多的题,但是没有字牌应该简单一点. 我说这个题是一个暴力应该没什么问题,就是判断的时候非常麻烦. 题意 说说打的是日本麻将,不过好像中国的麻将也都是这 ...
- HDU 4431 Mahjong(模拟题)
题目链接 写了俩小时+把....有一种情况写的时候漏了...代码还算清晰把,想了很久才开写的. 1 #include <cstdio> 2 #include <cstring> ...
- 2019年第五届计蒜之道复赛总结
又是一年计蒜客,沙雕ACMer欢乐多 热心市民yzm10按捺不住冲动,在期末期间又打了一场比赛. 赛点:204(与罚时惊人的相似) 做完两题排在一百多名,以为稳了(其实后面做不动了)比到一半就开始挂机 ...
- 【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 ...
- HDU题目分类大全【大集合】
基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.105 ...
- 转载:Hdu 题目分类
原址点击 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056. ...
- 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 ...
- hdu与poj题目分类
POJ 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(po ...
- hdu HDOJ 题目分类(转)
动态规划:2037 2054 2084 hdu题目分类(转) http://apps.hi.baidu.com/share/detail/17053154 1001 整数求和 水题 1002 C语言实 ...
- HDU——1106排序(istringstream的使用、STLvector练习)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
最新文章
- Android 开发笔记“关闭默认键盘”
- 如何 ssh 到内网服务器?
- 用ABAP代码读取S/4HANA生产订单工序明细 1
- JavaScript Unicode字符操作
- 六张图|教开发者该如何应对“中年危机”
- 矩阵论16 17 18 19
- 【Unity3D应用案例系列】Unity3D中实现《3D照片墙》
- 无盘服务器pnp,锐起无盘PNP有哪些配置类型
- svn连接工具tortoiseSVN
- pthread之条件变量pthread_cond_t
- 海康测温门禁一体机DS-K5604SD-A
- 逆向学习之Hook技术
- Linux网络编程8——线程池模型
- Java开发人员必须掌握的Linux命令(二)
- CF1326E Bombs(思维题)
- Java—ISBN号码问题
- 环境问题-无外接显示屏(虚拟显示屏)远程控制Ubuntu
- win10下anaconda、tensorflow-cpu以及tensorflow-gpu安装
- android 应用未验证,解决微信分享显示“未验证应用”问题。
- 中标麒麟桌面操作系统7.0安装QT5.9.9完整教程(附安装包)
热门文章
- 苹果Mac 下 Parallels Desktop “无法连接到 Parallels 服务”如何解决?
- 用6种方法,教你如何解决Finder持续崩溃的问题!
- 小程序开发中遇到的坑
- 中兴2018年上半年业绩惨不忍睹,押宝5G建设能否让其起死回生?
- 数据挖掘面试题之梯度提升树
- Cache【硬盘缓存工具类(包含内存缓存LruCache和磁盘缓存DiskLruCache)】
- 兼容IE8遇到的问题
- [分享] 微信支付中商户对个人用户付款案例
- Mellanox infinoband RDMA SDP
- Hibernate性能优化2( 转)