博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模拟 hihoCoder 1177 顺子
阅读量:5152 次
发布时间:2019-06-13

本文共 2683 字,大约阅读时间需要 8 分钟。

 

1 /* 2     模拟:简单的照着规则做就可以了,把各种情况考虑到,虽然比赛写的丑了点,但能1Y还是很开心的:) 3 */ 4 #include 
5 #include
6 #include
7 #include
8 #include
9 using namespace std;10 11 const int MAXN = 1e2 + 10;12 const int INF = 0x3f3f3f3f;13 struct Card14 {15 int v, w;16 }ca[10];17 char s[10][10];18 19 bool cmp(Card x, Card y) {
return x.v < y.v;}20 21 int main(void) //hihoCoder 1177 顺子22 {23 while (scanf ("%s %s %s %s", s[1], s[2], s[3], s[4]) == 4)24 {25 int pre = 0; bool ok = true;26 for (int i=1; i<=4; ++i)27 {28 int len = strlen (s[i]);29 if (s[i][0] == 'A') ca[i].v = 14;30 else if (s[i][0] == 'J') ca[i].v = 11;31 else if (s[i][0] == 'Q') ca[i].v = 12;32 else if (s[i][0] == 'K') ca[i].v = 13;33 else34 {35 if (len == 3) ca[i].v = 10;36 else ca[i].v = s[i][0] - '0';37 }38 int p = 1; if (len == 3) p = 2;39 if (s[i][p] == 'S') ca[i].w = 1;40 else if (s[i][p] == 'H') ca[i].w = 2;41 else if (s[i][p] == 'C') ca[i].w = 3;42 else if (s[i][p] == 'D') ca[i].w = 4;43 if (i == 1) pre = ca[1].w;44 else45 {46 if (ca[i].w != pre) ok = false; //是否四张牌都相同花色47 }48 }49 50 sort (ca+1, ca+1+4, cmp);51 int flag = 0; bool no = false;52 for (int i=2; i<=4; ++i)53 {54 if (ca[i].v - ca[i-1].v == 1) continue;55 else if (ca[i].v - ca[i-1].v == 2)56 {57 if (!flag) flag = i;58 else no = true;59 }60 else no = true;61 }62 63 if (no) puts ("0/1"); //若有来两个地方不是连续的则不可能是顺子64 else65 {66 if (flag) //如果在中间插入牌67 {68 if (ok) {puts ("1/16");}69 else {puts ("1/12");}70 }71 else //两侧插牌72 {73 if (ok)74 {75 if (ca[1].v == 2 || ca[4].v == 14) puts ("1/16");76 else puts ("1/8");77 }78 else79 {80 if (ca[1].v == 2 || ca[4].v == 14) puts ("1/12");81 else puts ("1/6");82 }83 }84 }85 }86 87 return 0;88 }

 

转载于:https://www.cnblogs.com/Running-Time/p/4576485.html

你可能感兴趣的文章
C++内置算术类型使用选择技巧
查看>>
进程的基础理论、并发(multiprocessing模块)
查看>>
cronlog分割tomcat catalina.out日志
查看>>
委托和事件
查看>>
什么是Pyc?Pyc的作用是什么?
查看>>
HDU3487 Play with Chain splay 区间反转
查看>>
原生js实现三个按钮绑定三个计时器,点击其中一个按钮,开启当前计时器,另外另个不开启...
查看>>
(转)推荐一些经典书籍
查看>>
(汲取经验)SCU2013多校联合赛
查看>>
SQL 查询中case的运用
查看>>
第二周进度
查看>>
selenium+python自动化元素定位
查看>>
sql server 分页
查看>>
【OpenJudge10】超级玛丽游戏
查看>>
Java基础知识总结--多态
查看>>
【Java学习笔记】对象生命周期
查看>>
SQLServer2008R2评估期已过的解决办法
查看>>
js复选框实现全选、全不选、反选
查看>>
Tensorflow版Faster RCNN源码解析(TFFRCNN) (2) test.py(不使用RPN时)(含ndarray数组复杂的切片操作等)...
查看>>
A SQLite client library written in Modern C++
查看>>