输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如:4 4 4 4-joker JOKER 请比较两手牌大小,输出较大的牌,如果不存在比较关系则输出ERROR
// ConsoleApplication10.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
using namespace std;
//判断是否存在双王
bool judeDoubleJoker(vector<stringcardVec)
{
if (cardVec.size() != 2) return false;
bool result = true;
for (int i = 0;i < cardVec.size();++i)
{
if (cardVec[i] != "16"&&cardVec[i] != "17")
{
result = false;
break;
}
}
return result;
}
//判断是否有炸弹
//输出
void printVec(vector<stringcardVec)
{
for (int i = 0;i < cardVec.size();++i)
{
// cout << cardVec[i] << " ";
//对输入数据的处理
if (cardVec[i] == "11")
{
cout << "J";
if (i != cardVec.size() - 1)
{
cout << " ";
}
}
else if (cardVec[i] == "12")
{
cout << "Q" ;
if (i != cardVec.size() - 1)
{
cout << " ";
}
}
else if (cardVec[i] == "13")
{
cout << "K" ;
if (i != cardVec.size() - 1)
{
cout << " ";
}
}
else if (cardVec[i] == "14")
{
cout << "A" ;
if (i != cardVec.size() - 1)
{
cout << " ";
}
}
else if (cardVec[i] == "15")
{
cout << "2" ;
if (i != cardVec.size() - 1)
{
cout << " ";
}
}
else if (cardVec[i] == "16")
{
cout << "joker" ;
if (i != cardVec.size() - 1)
{
cout << " ";
}
}
else if (cardVec[i] == "17")
{
cout << "JOKER" ;
if (i != cardVec.size() - 1)
{
cout << " ";
}
}
else {
cout << cardVec[i] ;
if (i != cardVec.size() - 1)
{
cout << " ";
}
}
}
}
//处理数据
void pushCardVec(string card,vector<string&vec)
{
//对输入数据的处理
if (card == "J")
{
vec.push_back("11");
}
else if (card == "Q")
{
vec.push_back("12");
}
else if (card == "K")
{
vec.push_back("13");
}
else if (card == "A")
{
vec.push_back("14");
}
else if (card == "2")
{
vec.push_back("15");
}
else if (card == "joker")
{
vec.push_back("16");
}
else if (card == "JOKER")
{
vec.push_back("17");
}
else {
vec.push_back(card);
}
}
//判断大小
void jude(vector<stringcardVec1, vector<stringcardVec2)
{
if (stoi(cardVec1[0]) stoi(cardVec2[0]))
{
printVec(cardVec1);
}
else if (stoi(cardVec1[0]) < stoi(cardVec2[0]))
{
printVec(cardVec2);
}
else
{
cout << "ERROR";
}
}
int main()
{
string card;
vector<stringcardVec1;
vector<stringcardVec2;
int flag = 0;
while (cin>>card)
{
if (card.find('-') >10 && flag==0)
{
//对输入数据的处理
pushCardVec( card, cardVec1);
}
else if (card.find('-') >10 && flag == 1)
{
pushCardVec(card, cardVec2);
}
else
{
string card1=card.substr(0,card.find('-'));
pushCardVec(card1, cardVec1);
string card2=card.substr(card.find('-')+1);
pushCardVec(card2, cardVec2);
flag = 1;
}
}
//cout << "cardVec1:";
//for (int i = 0;i < cardVec1.size();++i)
//{
// cout << cardVec1[i] << " ";
//}
//cout << "carVec1Size:" << cardVec1.size() << endl;
//cout << endl << "cardVec2:";
//for (int i = 0;i < cardVec2.size();++i)
//{
// cout << cardVec2[i] << " ";
//}
//cout << "carVec2Size:" << cardVec2.size() << endl;
//cout << endl<<"最大的数是:";
if (cardVec1.size() == cardVec2.size())
{
jude(cardVec1, cardVec2);
}
else {
if (judeDoubleJoker(cardVec1) == true )
{
printVec(cardVec1);
}
else if (judeDoubleJoker(cardVec2) == true || cardVec2.size() == 4)
{
printVec(cardVec2);
}
else if (cardVec1.size() == 4)
{
printVec(cardVec1);
}else if (cardVec2.size() == 4)
{
printVec(cardVec2);
}
else
{
cout << "ERROR";
}
}
return 0;
};
输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如:4 4 4 4-joker JOKER 请比较两手牌大小,输出较大的牌,如果不存在比较关系则输出ERROR的更多相关文章
- ALSA声卡驱动中的DAPM详解之五:建立widget之间的连接关系
前面我们主要着重于codec.platform.machine驱动程序中如何使用和建立dapm所需要的widget,route,这些是音频驱动开发人员必须要了解的内容,经过前几章的介绍,我们应该知道如 ...
- Socket编程——怎么实现一个服务器多个客户端之间的连接
package coreBookSocket; import java.io.IOException; import java.net.ServerSocket; import java.net. ...
- 浅谈Oracle表之间各种连接
Oracle表之间的连接分为三种: 1.内连接(自然连接) 2.外连接 2.1.左外连接(左边的表不加限制,查询出全部满足条件的结果) 2.2.右外连接(右边的表不加限制,查询出全部满足条件的结果) ...
- 客户端一个http连接包含两个方向,一个是这个http连接的输入,另一个是这个http连接的输出。
1.客户端一个http连接包含两个方向,一个是这个http连接的输入,另一个是这个http连接的输出. 利用httpclient进行ip地址和端口号连接后,http的输出端作为http请求参数设置.h ...
- 【Xamarin挖墙脚系列:配置Mac之间的连接问题】
原文:[Xamarin挖墙脚系列:配置Mac之间的连接问题] 首先建议把MAC的防火墙关掉,呵呵, 其次,去设置里,允许所有用户远程登录连接MAC
- erlang与c之间的连接
http://blog.chinaunix.net/uid-22566367-id-382012.html erlang与c之间的连接参考资料:网络资料作者:Sunny 在Programming ...
- capsule network——CNN仅仅考虑了“有没有”的问题,没有考虑feature map的结构关系。这个结构关系包括位置,角度等。Capsule layer的输出也跟feature map的max-pooling输出不同,capsule layer的输出是一个向量,这个向量包含了位置,大小,角度等信息,这是feature map仅能输出一个值所不具备的;训练比较慢
capsule network--<Dynamic Routing Between Capsules> from:https://zhuanlan.zhihu.com/p/31491520 ...
- 有效Log4j按指定级别定向输出日志到指定的输出文件地址配置Threshold,log4j中如何屏蔽父logger输出源rootlogger的additivity配置,log4j向多个文件记录日志
log4j向多个文件记录日志 关键配置,指定想要的日志级别信息输出到指定的日志文件中: log4j.appender.errorLogger.Threshold=ERROR #扩展,可指定只在子类自己 ...
- printf格式输出数字,位数不够前面补0,适用与输出编号
printf格式输出数字,位数不够前面补0,适用与输出编号 printf格式输出:%[flags][width][.perc][F|N|h|l]type 用到了flags中的 0 (注意是零不是欧) ...
随机推荐
- Manacher--雾窗寒对遥天暮,暮天遥对寒窗雾
POJ 3974: Palindrome 题意: 最长回文子串的长度... 分析: Manacher板子题... 代码: #include<algorithm> #include<i ...
- java 去html标签,去除字符串中的空格,回车,换行符,制表符
public static String getonerow(String allLine,String myfind) { Pattern ...
- Linux设备模型(热插拔、mdev 与 firmware)【转】
转自:http://www.cnblogs.com/hnrainll/archive/2011/06/10/2077469.html 转自:http://blog.chinaunix.net/spac ...
- 学习总结——JMeter做http接口压力测试
JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做 ...
- hdu 4908(思路题)
BestCoder Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- LeetCode OJ--Multiply Strings **
https://oj.leetcode.com/problems/multiply-strings/ 用字符串实现大数乘法,细节题,细节很多 class Solution { public: stri ...
- Network| ICMP
Internet Control Message Protocol,ICMP是网路协议族的核心协议之一.它用于TCP/IP网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,令管 ...
- 打包python脚本为exe
更新pip 安装
- SecureCRT导出服务器列表或配置文件
说明:SecureCRT没有Xshell那么简单有直接导出的功能,但是可以通过技巧的方式来操作. 1.打开SecureCRT,点击菜单栏的[Opitions]->[Global Opitions ...
- What are Windows ACLs and why are they important?
An access control list (ACL), with respect to a computer file system, is a list of permissions attac ...