题目传送门

 /*
模拟:简单的照着规则做就可以了,把各种情况考虑到,虽然比赛写的丑了点,但能1Y还是很开心的:)
*/
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std; const int MAXN = 1e2 + ;
const int INF = 0x3f3f3f3f;
struct Card
{
int v, w;
}ca[];
char s[][]; bool cmp(Card x, Card y) {return x.v < y.v;} int main(void) //hihoCoder 1177 顺子
{
while (scanf ("%s %s %s %s", s[], s[], s[], s[]) == )
{
int pre = ; bool ok = true;
for (int i=; i<=; ++i)
{
int len = strlen (s[i]);
if (s[i][] == 'A') ca[i].v = ;
else if (s[i][] == 'J') ca[i].v = ;
else if (s[i][] == 'Q') ca[i].v = ;
else if (s[i][] == 'K') ca[i].v = ;
else
{
if (len == ) ca[i].v = ;
else ca[i].v = s[i][] - '';
}
int p = ; if (len == ) p = ;
if (s[i][p] == 'S') ca[i].w = ;
else if (s[i][p] == 'H') ca[i].w = ;
else if (s[i][p] == 'C') ca[i].w = ;
else if (s[i][p] == 'D') ca[i].w = ;
if (i == ) pre = ca[].w;
else
{
if (ca[i].w != pre) ok = false; //是否四张牌都相同花色
}
} sort (ca+, ca++, cmp);
int flag = ; bool no = false;
for (int i=; i<=; ++i)
{
if (ca[i].v - ca[i-].v == ) continue;
else if (ca[i].v - ca[i-].v == )
{
if (!flag) flag = i;
else no = true;
}
else no = true;
} if (no) puts ("0/1"); //若有来两个地方不是连续的则不可能是顺子
else
{
if (flag) //如果在中间插入牌
{
if (ok) {puts ("1/16");}
else {puts ("1/12");}
}
else //两侧插牌
{
if (ok)
{
if (ca[].v == || ca[].v == ) puts ("1/16");
else puts ("1/8");
}
else
{
if (ca[].v == || ca[].v == ) puts ("1/12");
else puts ("1/6");
}
}
}
} return ;
}

模拟 hihoCoder 1177 顺子的更多相关文章

  1. hihocoder #1177 : 顺子 模拟

    #1177 : 顺子 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/problemset/problem/1177 ...

  2. hihocoder 1177 : 顺子

    #1177 : 顺子 时间限制:6000ms 单点时限:1000ms 内存限制:256MB 描述 你在赌场里玩梭哈,已经被发了4张牌,现在你想要知道发下一张牌后你得到顺子的概率是多少? 假定赌场使用的 ...

  3. ACM学习历程—Hihocoder 1177 顺子(模拟 && 排序 && gcd)(hihoCoder挑战赛12)

      时间限制:6000ms 单点时限:1000ms 内存限制:256MB   描述 你在赌场里玩梭哈,已经被发了4张牌,现在你想要知道发下一张牌后你得到顺子的概率是多少? 假定赌场使用的是一副牌,四种 ...

  4. NOIP 2015 提高组 Day1

    期望得分:100+100+100=300 实际得分:100+100+45=245 T3 相似的代码 复制过去 没有改全,痛失55分 http://www.cogs.pro/cogs/page/page ...

  5. hihoCoder 1392 War Chess 【模拟】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛)

    #1392 : War Chess 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Rainbow loves to play kinds of War Chess gam ...

  6. 【hihocoder 1039 字符串消除】模拟

    题目链接:http://hihocoder.com/problemset/problem/1039 题意:给定一个只由{A, B, C}组成的字符串s,长度为n, 故包含n+1个空隙:现要求在某个空隙 ...

  7. hihoCoder #1053 : 居民迁移(贪心,二分搜索,google在线技术笔试模拟)

    #1053 : 居民迁移 时间限制:3000ms 单点时限:1000ms 内存限制:256MB 描述 公元2411年,人类开始在地球以外的行星建立居住点.在第1326号殖民星上,N个居住点分布在一条直 ...

  8. 九度OJ 1355:扑克牌顺子 (模拟)

    时间限制:2 秒 内存限制:32 兆 特殊判题:否 提交:1676 解决:484 题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^). ...

  9. hihocoder #1616 : 是二叉搜索树吗?(模拟题)

    题目链接:http://hihocoder.com/problemset/problem/1616 题解:就是简单的模拟一下至于如何判断是不是二叉搜索树可以通过中序遍历将每个点存下来看是不是递增的如果 ...

随机推荐

  1. Java第二次作业參考代码

    Java第二次作业參考代码 [程序11] 题目:有1.2.3.4四个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? public class lianxi11 { public stati ...

  2. hdu 4950 Monster(数学题,多校8)

    题目链接:pid=4950http://acm.hdu.edu.cn/showproblem.php?pid=4950">http://acm.hdu.edu.cn/showprobl ...

  3. vux-uploader 图片上传组件

    1.网址:https://github.com/greedying/vux-uploader 2.安装 npm install vux-uploader --save npm install --sa ...

  4. 淘宝API学习之道:淘宝TOP之API接口接入教程

    作为一个中小型站点开发人员,淘宝API的开放大大缩短了站点的开发周期和运作效率.面对海量的数据.开发人员仅仅要细致阅读开发文档,熟悉对应的接口,就能够把数据导入自己的站点,这样就不必望洋兴叹了. 眼下 ...

  5. Android学习 多读官网,故意健康---手势

    官网地址 ttp://developer.android.com/training/gestures/detector.html: 一.能够直接覆盖Activity的onTouch方法 public ...

  6. java读取Excel表格中的数据

    1.需求 用java代码读取hello.xls表格中的数据 2.hello.xls表格 3.java代码 package com.test; import java.io.File; import j ...

  7. wget和curl

    1 curl比wget支持更多的协议 2 wget是支持递归的,而curl不支持

  8. How can I pass data from Flask to JavaScript in a template?

    https://stackoverflow.com/questions/11178426/how-can-i-pass-data-from-flask-to-javascript-in-a-templ ...

  9. 异步编程错误处理 ERROR HANDLING

    Chapter 16, "Errors and Exceptions," provides detailed coverage of errors and exception ha ...

  10. Oracle - 查询语句 - 分组函数

    /* 分组函数 不能再select子句中出现普通的列,除非这个列在group by中给出 所有的空值都会被分为一组 分组过滤 SELECT FROM WHERE GROUPBY HAVING ORDE ...