// 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的更多相关文章

  1. ALSA声卡驱动中的DAPM详解之五:建立widget之间的连接关系

    前面我们主要着重于codec.platform.machine驱动程序中如何使用和建立dapm所需要的widget,route,这些是音频驱动开发人员必须要了解的内容,经过前几章的介绍,我们应该知道如 ...

  2. Socket编程——怎么实现一个服务器多个客户端之间的连接

      package coreBookSocket; import java.io.IOException; import java.net.ServerSocket; import java.net. ...

  3. 浅谈Oracle表之间各种连接

    Oracle表之间的连接分为三种: 1.内连接(自然连接) 2.外连接 2.1.左外连接(左边的表不加限制,查询出全部满足条件的结果) 2.2.右外连接(右边的表不加限制,查询出全部满足条件的结果) ...

  4. 客户端一个http连接包含两个方向,一个是这个http连接的输入,另一个是这个http连接的输出。

    1.客户端一个http连接包含两个方向,一个是这个http连接的输入,另一个是这个http连接的输出. 利用httpclient进行ip地址和端口号连接后,http的输出端作为http请求参数设置.h ...

  5. 【Xamarin挖墙脚系列:配置Mac之间的连接问题】

    原文:[Xamarin挖墙脚系列:配置Mac之间的连接问题] 首先建议把MAC的防火墙关掉,呵呵, 其次,去设置里,允许所有用户远程登录连接MAC

  6. erlang与c之间的连接

    http://blog.chinaunix.net/uid-22566367-id-382012.html erlang与c之间的连接参考资料:网络资料作者:Sunny    在Programming ...

  7. 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 ...

  8. 有效Log4j按指定级别定向输出日志到指定的输出文件地址配置Threshold,log4j中如何屏蔽父logger输出源rootlogger的additivity配置,log4j向多个文件记录日志

    log4j向多个文件记录日志 关键配置,指定想要的日志级别信息输出到指定的日志文件中: log4j.appender.errorLogger.Threshold=ERROR #扩展,可指定只在子类自己 ...

  9. printf格式输出数字,位数不够前面补0,适用与输出编号

    printf格式输出数字,位数不够前面补0,适用与输出编号 printf格式输出:%[flags][width][.perc][F|N|h|l]type 用到了flags中的 0 (注意是零不是欧) ...

随机推荐

  1. BZOJ 2146 Construct

    Construct [问题描述] 随着改革开放的深入推进…… 小T家要拆迁了…… 当对未来生活充满美好憧憬的小T看到拆迁协议书的时候,小T从一位大好的社会主义青年变成了绝望的钉子户. 由于小T的家位于 ...

  2. DBus介绍

    1. 介绍 DBus是一种桌面环境的进程间通讯(IPC)机制,有低时延.低消耗等优点 基于socket,提供了一对一的对等通讯:使用dbus-daemon作为后台进程时,可实现多对多通讯 由如下三个层 ...

  3. android基本控件学习-----ScrollView

    ScrollView(滚动条)的讲解: 一.对于ScrollView滚动条还是很好理解的,共有两种水平和垂直,ScrollView和HorizontalScrollview,这个里面不知道该总结写什么 ...

  4. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---40

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  5. NYOJ 20.吝啬的国度-DFS+STL(vector保存上一节点)

    整理代码 吝啬的国度 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第 ...

  6. Find Median from Data Stream - LeetCode

    Median is the middle value in an ordered integer list. If the size of the list is even, there is no ...

  7. 牛客网暑期ACM多校训练营 记录

    所有牛客多校的做题记录请右转队伍wiki Name Date Rank 2018 Multi-University,Nowcoder Day 1 2018.7.19 16/338 5/10 https ...

  8. Akka之Actor生命周期

    我们首先来看一下官方给出的Actor的声明周期的图: 在上图中,Actor系统中的路径代表一个地方,其可能会被活着的Actor占据.最初路径都是空的.在调用actorOf()时,将会为指定的路径分配根 ...

  9. 2016北京集训测试赛(十一)Problem C: 树链问题

    Solution 智障暴力题, 每个点维护一下子树信息, 树剖就好了. 我居然还傻了写了一发毛毛虫... #include <cstdio> #include <cctype> ...

  10. ajax跨域解决办法

    在使用jquery的ajax作请求时,http://127.0.0.1:8080,类似这样的一个本地请求,会产生跨域问题, 解决办法一: jsonp: var url= "http://12 ...