ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CF106A Card Game

2022-02-02 15:02:48  阅读:173  来源: 互联网

标签:king 套装 CF106A 王牌 lv Game suit include Card


思路

首先判断是不是王牌套装,分以下两种情况:

  • A 是王牌套装并且 B 不是,A 胜利。

  • B 是王牌套装并且 A 不是,B 胜利。

接下来开始比较。如果套装不相等就查找套装,看看谁的套装大谁赢。

如果套装相等就找等级,看看谁的等级大谁赢。

比较时可以采用打表的方法。

代码

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
using namespace std;
char king,A_lv,A_suit,B_lv,B_suit;
//king表示王牌套装,lv表示等级,suit表示套装 
char s1[]={'6','7','8','9','T','J','Q','K','A'};
//打表-表示每个字母的等级 
char s2[]={'S','H','D','C'};
int main()
{
	cin>>king;
	cin>>A_lv>>A_suit;
	cin>>B_lv>>B_suit;
	if(king==A_suit&&king!=B_suit) //如果A有王牌套装并且B没有A肯定获胜 
	{cout<<"YES"<<endl;return 0;}
	if(king==B_suit&&king!=A_suit) //反之,如果B有而A没有,则A输 
	{cout<<"NO"<<endl;return 0;}
	if(A_suit==B_suit)//如果套装一样就找等级 
	{
		int A_ans=0,B_ans=0;
		for(int i=0;i<9;++i)
		{
	    	if(s1[i]==A_lv) A_ans=i;
			if(s1[i]==B_lv) B_ans=i;	
			//分别找出A和B的等级 
		}
		if(A_ans>B_ans) cout<<"YES"<<endl;
		else            cout<<"NO"<<endl;//比较 
		return 0;
	}
	else      //否则比谁的套装大 
	{
		int A_ans=0,B_ans=0;
		for(int i=0;i<5;++i)
		{
	    	if(s1[i]==A_suit) A_ans=i;
			if(s1[i]==B_suit) B_ans=i;	
			//分别找出A和B的套装 
		}
		if(A_ans>B_ans) cout<<"YES"<<endl;
		else            cout<<"NO"<<endl;//比较 
		return 0;
	}
	return 0;
}

标签:king,套装,CF106A,王牌,lv,Game,suit,include,Card
来源: https://www.cnblogs.com/exaqp/p/15860331.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有