CF106A Card Game 题解
Content
一种纸牌游戏有许多张卡牌,每张卡牌有一个套装(S
,H
,D
和 C
)和一个等级(按升序排列6
,7
,8
,9
,T
, J
,Q
,K
,A
)。 规定以下情况卡牌 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 题解的更多相关文章
- Clash Credenz 2014 Wild Card Round题解
A题 简单模拟. /************************************************************************* > File Name: ...
- CF1492B Card Deck 题解
Content 有 \(n\) 张纸牌组成的一个牌堆,每张纸牌都有一个价值 \(p_1,p_2,\dots,p_n\).每次选出最顶上的几个牌放到另外一个一开始为空的牌堆里面.定义一个牌堆的总值为 \ ...
- MinMax 容斥 学习笔记
基本形式 \[ \max(S) = \sum_{T\subseteq S, T \neq \varnothing} (-1)^{|T|-1}\min(T) \] 证明 不提供数学证明. 简要讲一下抽象 ...
- 【题解】P3129高低卡(白金)High Card Low Card
[题解][P3129 USACO15DEC]高低卡(白金)High Card Low Card (Platinum) 考虑贪心. 枚举在第几局改变规则,在改变规则之前,尽量出比它大的最小的牌,在改变规 ...
- HDU 4336 Card Collector(状压 + 概率DP 期望)题解
题意:每包干脆面可能开出卡或者什么都没有,一共n种卡,每种卡每包爆率pi,问收齐n种卡的期望 思路:期望求解公式为:$E(x) = \sum_{i=1}^{k}pi * xi + (1 - \sum_ ...
- 【题解】HDU4336 Card Collector
显然,这题有一种很简单的做法即直接状压卡牌的状态并转移期望的次数.但我们现在有一个更加强大的工具——min-max容斥. min-max 容斥(对期望也成立):\(E[max(S)] = \sum_{ ...
- [OpenJudge 3061]Flip The Card
[OpenJudge 3061]Flip The Card 试题描述 There are N× Ncards, which form an N× Nmatrix. The cards can be p ...
- cdoj 31 饭卡(card) 01背包
饭卡(card) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/31 Des ...
- 《ACM国际大学生程序设计竞赛题解Ⅰ》——基础编程题
这个专栏开始介绍一些<ACM国际大学生程序设计竞赛题解>上的竞赛题目,读者可以配合zju/poj/uva的在线测评系统提交代码(今天zoj貌似崩了). 其实看书名也能看出来这本书的思路,就 ...
随机推荐
- C# 将Excel转为PDF时自定义表格纸张大小
通过后端程序将Excel表格转为PDF格式时,直接转换后的PDF效果可能出现表格页面过小或者过大,导致页面内容分布不均.要改善转换后的文档效果,只需在转换前自定义表格纸张大小,即可调整转换后的PDF页 ...
- 洛谷 P2481 [SDOI2010]代码拍卖会(背包+隔板法)
题面传送门 题意: 给出 \(n,p\),求有多少 \(n\) 位数 \(X=a_1a_2a_3\dots a_n\) 满足: 该 \(n\) 位数不含前导零 \(a_i \leq a_{i+1}\) ...
- NextPolish对基因组进行polish
NextPolish由未来组开发对基因组序列进行polish的工具,对三代以及二代均可进行polish. gituhp地址:https://github.com/Nextomics/NextPolis ...
- zabbix监控php状态
环境介绍: php /usr/loca/php nignx /usr/loca/nginx 配置文件都是放在extra中 修改php-fpm的配置文件启动状态页面 pm.status_path = ...
- JuiceFS 数据读写流程详解
对于文件系统而言,其读写的效率对整体的系统性能有决定性的影响,本文我们将通过介绍 JuiceFS 的读写请求处理流程,让大家对 JuiceFS 的特性有更进一步的了解. 写入流程 JuiceFS 对大 ...
- vs2019 16.8更新之后的 C++20 协程co_yield用法
由于搜索出来的帖子,都是老版本的实验协程,很多老的代码已经失去参考性,并且很复杂,所以就自己研究了一下. 1 #include <iostream> 2 #include <coro ...
- 日常Java测试第一段 2021/11/12
课堂测试一 package word_show;import java.io.BufferedReader;import java.io.FileNotFoundException;import ja ...
- words in English that contradict themselves
[S1E10, TBBT]Leonard: I don't get it. I already told her a lie. Why would I replace it with a differ ...
- 零基础学习java------21---------动态代理,java8新特性(lambda, stream,DateApi)
1. 动态代理 在一个方法前后加内容,最简单直观的方法就是直接在代码上加内容(如数据库中的事务),但这样写不够灵活,并且代码可维护性差,所以就需要引入动态代理 1.1 静态代理实现 在讲动态代理之前, ...
- 【php安全】 register_argc_argv 造成的漏洞分析
对register_argc_argv的分析 简介 使用 cli模式下,不论是否开始register_argc_argv,都可以获取命令行或者说外部参数 web模式下,只有开启了register_ar ...