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貌似崩了). 其实看书名也能看出来这本书的思路,就 ...
随机推荐
- 你真的知道Spring注解驱动的前世今生吗?这篇文章让你豁然开朗!
本篇文章,从Spring1.x到Spring 5.x的迭代中,站在现在的角度去思考Spring注解驱动的发展过程,这将有助于我们更好的理解Spring中的注解设计. Spring Framework ...
- Python+selenium定位一组元素,复选框
- postman自动调用获取token
Postman不光支持单次请求,还支持环境变量.全局变量.集合变量 本文使用Collection Variable Collection 如下图可以点击Collection然后可以添加请求和文件夹,以 ...
- JS 执行上下文的一次理解
执行上下文 执行上下文概念 当代码运行时,会产生一个对应的执行环境,在这个环境中,变量会被事先提出来(变量提升),代码从上往下开始执行,就叫做执行上下文. 注:在定义变量是未直接赋值,使用默认值 un ...
- yum和apt-get的用法和区别
一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debian.Ubuntu等 RedHat 系列 1 常见的安装包 ...
- 40-3Sum Closest
3Sum Closest My Submissions QuestionEditorial Solution Total Accepted: 76185 Total Submissions: 2621 ...
- 11. 关于WIN7 64位系统安装ADS的种种意外情况解决方法
安装ADS的环境,以前安装过,觉得应该可以安装呀,没想到,装不上,安装不成功,后来花费好长时间,终于把他装好了,费时费力呀. 特此记录一下,以戒后人.大家安装问题建议整篇看完,再去安装,以防一个问题解 ...
- 零基础学习java------day6----数组
0. 内容概览 补充:main方法中的数组 1. 数组的概述 概念: 用来存储一组相同数据类型的集合(或者叫容器) 注意事项: 1. 数组中的元素类型必须一致 2. 数组本身是引用数据类型,但是里面的 ...
- 内存中 1k 代表什么
1K也就是 1KB == 1000 bytes == 1000 *8 位 通常一个地址里面有8位,就是说一个房间里面能存8个0或者1
- C++自定义字符串类
//header.h #ifndef _HEADER_H #define _HEADER_H #define defaultSize 128 #include<iostream> #inc ...