Content

一种纸牌游戏有许多张卡牌,每张卡牌有一个套装(SHDC)和一个等级(按升序排列6789TJQKA)。 规定以下情况卡牌 A 才能赢卡牌 B:

  • A 有王牌套装,B 没有。
  • A 和 B 的套装相同,但 A 的等级比 B 高。

否则 B 赢。

现在,给出王牌套装和卡牌 A、卡牌 B,问卡牌 A 是否能赢卡牌 B。

数据范围:保证输入合法。

Solution

我们先按照题目所给的顺序求出卡牌 A 和卡牌 B 的等级,不妨设 T 为 10,J 为 11,Q 为 12,K 为 13,A 为 14,其他照旧。然后就是一波 if-else 判断了。

先判断 A 是否有王牌套装,如果 A 有,判断 B 是否有。如果 B 没有那就 A 赢,如果 B 也有而 A 的等级比 B 大,那么还是 A 赢,否则 B 赢。

如果 A 没有王牌套装,那么判断 B 是否有,如果 B 有那就 B 赢;否则看它们两张卡牌是否是同一个套装。如果不是同一个套装则 B 赢(这里特别注意!),是同一个套装就比较它们的等级。如果 A 的等级比 B 大,那么 A 赢,否则 B 赢。

Code

string king, a, b;

int main() {
cin >> king >> a >> b;
int a1 = (a[0] == 'T' ? 10 : (a[0] == 'J' ? 11 : (a[0] == 'Q' ? 12 : (a[0] == 'K' ? 13 : (a[0] == 'A' ? 14 : a[0] - '0'))))), b1 = (b[0] == 'T' ? 10 : (b[0] == 'J' ? 11 : (b[0] == 'Q' ? 12 : (b[0] == 'K' ? 13 : (b[0] == 'A' ? 14 : b[0] - '0')))));
if(king[0] == a[1]) {
if(king[0] == b[1]) {
if(a1 > b1) puts("YES");
else puts("NO");
} else puts("YES");
} else {
if(king[0] == b[1]) puts("NO");
else if(a[1] == b[1]) {
if(a1 > b1) puts("YES");
else puts("NO");
} else puts("NO");
}
return 0;
}

CF106A Card Game 题解的更多相关文章

  1. Clash Credenz 2014 Wild Card Round题解

    A题 简单模拟. /************************************************************************* > File Name: ...

  2. CF1492B Card Deck 题解

    Content 有 \(n\) 张纸牌组成的一个牌堆,每张纸牌都有一个价值 \(p_1,p_2,\dots,p_n\).每次选出最顶上的几个牌放到另外一个一开始为空的牌堆里面.定义一个牌堆的总值为 \ ...

  3. MinMax 容斥 学习笔记

    基本形式 \[ \max(S) = \sum_{T\subseteq S, T \neq \varnothing} (-1)^{|T|-1}\min(T) \] 证明 不提供数学证明. 简要讲一下抽象 ...

  4. 【题解】P3129高低卡(白金)High Card Low Card

    [题解][P3129 USACO15DEC]高低卡(白金)High Card Low Card (Platinum) 考虑贪心. 枚举在第几局改变规则,在改变规则之前,尽量出比它大的最小的牌,在改变规 ...

  5. HDU 4336 Card Collector(状压 + 概率DP 期望)题解

    题意:每包干脆面可能开出卡或者什么都没有,一共n种卡,每种卡每包爆率pi,问收齐n种卡的期望 思路:期望求解公式为:$E(x) = \sum_{i=1}^{k}pi * xi + (1 - \sum_ ...

  6. 【题解】HDU4336 Card Collector

    显然,这题有一种很简单的做法即直接状压卡牌的状态并转移期望的次数.但我们现在有一个更加强大的工具——min-max容斥. min-max 容斥(对期望也成立):\(E[max(S)] = \sum_{ ...

  7. [OpenJudge 3061]Flip The Card

    [OpenJudge 3061]Flip The Card 试题描述 There are N× Ncards, which form an N× Nmatrix. The cards can be p ...

  8. cdoj 31 饭卡(card) 01背包

    饭卡(card) Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/31 Des ...

  9. 《ACM国际大学生程序设计竞赛题解Ⅰ》——基础编程题

    这个专栏开始介绍一些<ACM国际大学生程序设计竞赛题解>上的竞赛题目,读者可以配合zju/poj/uva的在线测评系统提交代码(今天zoj貌似崩了). 其实看书名也能看出来这本书的思路,就 ...

随机推荐

  1. Ubuntu 软件安装

    apt 使用apt安装,需要sudo 一些命令: sudo apt-get install git deb deb软件安装方法: sudo dpkg -I xxxx.deb 我们在Windows下安装 ...

  2. 【Python小试】判断一条序列GC含量高低

    题目: 随便给定一条序列,如果GC含量超过65%,则认为高. 编程: from __future__ import division #整数除法 def is_gc_rich(dna): length ...

  3. Excel-数据分列的多种方法实现

    2.数据->分列 (数据格式统一的精准分列)<=> 手动快捷键ctrl+E+等待 ("模糊模仿""分列)<=> 用函数实现(精准分列) 用函 ...

  4. Bootstrap实战 - 瀑布流布局

    讲 Bootstrap 基础的教程网上已经很多了,实际上 Bootstrap 中文网(bootcss.com)里的文档已经写的很详细了,但实战的案例却不多.这里用一些当前流行的网页布局为导向,使用 B ...

  5. 日常Java 2021/10/1

    正则表达式 \cx匹配由x指明的控制字符.例如,lcM匹配一个Control-M或回车符.x的值必须为A-Z或a-z之一.否则,将c视为一个原义的'℃'字符.\f匹配--个换页符.等价于\xOc和\c ...

  6. 关于learning Spark中文版翻译

      在网上找了很久中文版,感觉都是需要支付一定金币才能下载,索性自己翻译算了.因为对Spark有一定了解,而且书籍前面写道,对Spark了解可以直接从第三章阅读,就直接从第三章开始翻译了,应该没有什么 ...

  7. 商业爬虫学习笔记day5

    一. 发送post请求 import requests url = "" # 发送post请求 data = { } response = requests.post(url, d ...

  8. ssh : connect to host XXX.XXX.XXX.XXX port : 22 connect refused

    初学者 写博客 如有不对之处请多多指教 我是要在俩个主机的俩个虚拟机上 用scp (security copy)进行文件远程复制. 但是 终端 提示 ssh : connect to host XXX ...

  9. 【leetcode】986. Interval List Intersections (双指针)

    You are given two lists of closed intervals, firstList and secondList, where firstList[i] = [starti, ...

  10. 100个Shell脚本——【脚本9】统计ip

    [脚本9]统计ip 有一个日志文件,日志片段:如下: 112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com "/ ...