扑克牌大小OJ题

news2024/12/24 3:05:11

题目链接

扑克牌大小_牛客题霸_牛客网

 

题目完整代码

#include <iostream>
#include<string>
#include<algorithm>
using namespace std;

// left_str 左边牌
// right_str 右边牌

// left_count 左边牌数
// right_count 右边牌数

// left_first 左边第一个牌
// right_first 右边第一个牌

// 获取两边手牌中最大的手牌
string getMax(string s)
{

    // 倘若其中以防是王炸那么直接返回王炸即可
    if(s.find("joker JOKER")!=-1)
    return "joker JOKER";

    // 用find来确定分隔符的位置
    int k=s.find('-');

    // 使用left_str来记录左边的牌,主要是用substr来分割
    string left_str=s.substr(0,k);
    // 使用right_str来记录右边的牌,主要是用substr来分割
    string right_str=s.substr(k+1);

    // 使用left_count来记录左边牌的数量,主要用count计算,其实就是空格数加一
    int  left_count=count(left_str.begin(),left_str.end(),' ')+1;
    // 使用right_count来记录右边牌的数量,主要用count计算,其实就是空格数加一
    int  right_count=count(right_str.begin(),right_str.end(),' ')+1;

    // 来记录左边牌中首个字符
    string left_first=left_str.substr(0,left_str.find(' '));
    // 来记录右边牌中首个字符
    string right_first=right_str.substr(0,right_str.find(' '));

    // 若他们的数量相等
    if(left_count==right_count)
    {
        string str="345678910JQKA2jokerJOKER";
        // 首字符大的一方大
        if(str.find(left_first)>str.find(right_first))
        return left_str;
        return right_str;
    }

    // 若有一方为炸弹(4个一样的牌),然而另外一方又不是炸弹,直接返回炸弹
    if(left_count==4)
    return left_str;
    else if(right_count==4)
    return right_str;
    // 其他要求都不符合,返回ERROR
    else
    return "ERROR";

}



int main() 
{
    string s,res;

    // 使用getline接受字符串,单纯使用cin>>s;不能接受空格
    while(getline(cin,s))
    {
        res=getMax(s);
        cout<<res<<endl;
    }
    return 0;
}

题目所用到的接口

string中的find()

函数原型 

size_t find(const string& str);

find后边小括号上填入我们需要查找的字符串或者字符。

返回值

查找成功,返回值返回我们查到该字符或者字符串的下标。

查找失败,返回string::npo或者-1;(这两个用哪个都可以)

string中的substr()

函数原型

string substr (size_t pos = 0, size_t len = npos) const;

参数

  1. 可以有两个参数,作用是复制该字符串两个下标之间的内容。
  2. 也可以只写一个参数,作用是复制该下标到字符串末尾的内容。

count

所用库函数

#include<algorithm>

函数原型

count (InputIterator first, InputIterator last, const T& val);

 参数

前两个参数是迭代器,最后一个参数是我们需要计数的字符。

也就是计数这两个迭代器之间该字符出现的次数。

返回值

返回查找到的字符数量。

getline

stirng中的一个用来输入字符串的函数。

函数作用

string s;

getline(cin,s);

可以将空格业输入到指定的字符串里面,这个单纯使用cin>>s;是做不到的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能Python-pythonsep怎么用

Python在SEO中的应用 Python一直是广受欢迎的编程语言之一&#xff0c;它拥有强大的功能和易于使用的特性&#xff0c;使得它成为了许多开发人员们的首选。“Pythonsep”是Python在SEO中的应用&#xff0c;它可以帮助用户更好地优化自己的网站&#xff0c;让网站更容易被用户发…

搭建python web环境----Django

第一步&#xff1a;安装Django 1.进入cmd&#xff1a;pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple 2.检测版本&#xff1a; 第二步&#xff1a;配置环境变量 1.查找python安装位置: 2.打开django文件夹中bin文件夹&#xff1a; 查看django的安装位置&am…

火爆CV圈的SAM是什么?

SAM是什么 前言 最近几周&#xff0c;人工智能的圈子里都在讨论SAM&#xff08;Segment Anything Model&#xff09;&#xff0c;一个号称&#xff08;零样本&#xff09;分割一切的图像分割模型。 图&#xff1a;Segment Anything Demo 2023年4月6号&#xff0c;Meta AI发布…

npm install(报错)

1、npm install 报错&#xff08;如图&#xff09; WARN ERESOLVE overriding peer dependency npm WARN While resolving: intervolga/optimize-cssnano-plugin1.0.6 npm WARN Found: webpack3.12.0 npm WARN node_modules/webpack npm WARN peer webpack"^2.0.0 || ^3…

spring源码学习

1.xmlBeanFactory对defaultListableBeanFactory类进行扩展&#xff0c;主要用于从XML文档中获取BeanDefinition&#xff0c;对于注册及获取bean都是使用从父类DefaultListableBeanFactory继承的方法去实现。 xmlBeanFactory 主要是使用reader属性对资源文件进行读取和注册。 2.…

VMware ESXi 6.7 U3 Final - ESXi 6 系列最终版下载

VMware ESXi 6.7 U3 Final - ESXi 6 系列最终版下载 VMware ESXi 6 Standard 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-6/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org VersionRelease NameRelease …

APIO2023 游记

GDOI 和 GDKOI 的游记都咕咕咕了&#xff0c;而且都炸了&#xff0c;APIO 的游记提前发&#xff0c;就是要破釜沉舟。 我是线上选手。 Day -7 我们原题检测&#xff0c;阿克了&#xff0c;毕竟是原题&#xff0c;虽然有两道博弈论黑题确实挺毒瘤的。 教练让我做 APIO2012 的…

centos8安装mysql8

本次介绍捆绑包rpm方式安装mysql 首先到mysql官网:MySQL 1.下载捆绑包 2.上传至服务器 3.解压 tar -xvf mysql捆绑包.tar 4.重点来了,按照以下顺序分别安装(命令中的版本号按照自己下载的版本调整) rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm rpm -ivh my…

东南亚市场攻略:如何利用海外网红实现品牌曝光与销售增长

在当今数字化时代&#xff0c;社交媒体的兴起改变了品牌推广和市场开发的方式。尤其是在东南亚地区&#xff0c;网红营销迅速发展&#xff0c;成为品牌开发该地市场的重要策略之一。本文Nox聚星将和大家详细探讨出海品牌该如何利用海外网红营销来开发东南亚市场。 ​一、东南亚…

怎么做邮件营销?邮件营销必备攻略

电子邮件营销是与受众沟通、建立关系和推动转化有效的方式之一。然而&#xff0c;撰写有效的电子邮件营销活动需要创造力和方法技巧的结合。做好电子邮件营销能够为企业带来长期的客源&#xff0c;并为其培养稳定优质的客户&#xff0c;为企业带来长期收益。在这篇文章中&#…

这样做WhatsApp群组营销,转化率猛UP

WhatsApp群组营销是一种利用WhatsApp群组进行推广和营销活动的策略。通过创建或参与相关主题的群组&#xff0c;您可以与潜在客户建立联系&#xff0c;传递信息并促进销售。 以下是一些WhatsApp群组营销的建议&#xff1a; 1.确定目标受众&#xff0c;建立目标群组&#xff1a…

2023天一永安杯部分wp

web Query 布尔盲注 import requests import stringdictionary string.digitsstring.ascii_letters"_-{,}" url "http://cd5a2660b462c867.node.nsctf.cn/login.php" xxx"" for i in range(1,666):print("正在爆破第{}位".format…

关闭eslint - vue篇

文章目录 一、问题描述二、问题解决1、首先是比较旧的vue项目2、创建项目的时候&#xff0c;不要选eslint3、如果你使用的编辑软件是webstorm4、创建的项目没有webpack.base.conf.js文件&#xff0c;但是有 .eslintrc.js5、比较新的vue项目&#xff0c;目录没有&#xff08;直接…

升级iOS16.5后无法使用闪电转USB3相机转换器怎么办?

上周&#xff0c;苹果给大家推送了iOS 16.5更新&#xff0c;号称修复了超14个漏洞。但很快&#xff0c;安装了更新的iPhone和iPad用户发现iOS 16.5的一个BUG&#xff0c;Lightning转USB 3相机转换器无法工作。 使用闪电转 USB 3 相机转换器&#xff0c;你可以轻松地将照片和视…

云时通供应链中台 | 打造供应链智慧大脑,实现70%订单交易自动化

在外部环境巨变的三年中&#xff0c;有些消费品制造和零售企业却仍然在自己的赛道逆势增长&#xff0c;这些企业无一例外先一步通过数字化武装自身&#xff0c;打造供应链护城河&#xff0c;为企业实现降本增效。 供应链和物流服务&#xff0c;是商业活动最底层的支撑系统之一…

Postman接口工具、中的全局/环境/集合变量的使用及优先级

变量的使用场景 Postman的变量主要用于参数化和关联 应用1: 常用变量可以按使用范围设置成集合或全局变量应用2: 一套接口要在不同的环境上测试时, 可以新建两个环境,比如test环境和stage环境, 两个环境中添加base_url变量并设置不同的值, 请求中接口的url中使用{{base_url}},…

DJ8-3 shell 进程监控(ps、sleep、kill)

目录 8.6 进程监控 8.6.1 获取进程状态信息&#xff1a;ps 命令 8.6.2 暂停进程运行&#xff1a;sleep 命令 8.6.3 终止进程运行&#xff1a;kill 命令 8.6 进程监控 8.6.1 获取进程状态信息&#xff1a;ps 命令 1、不带参数的 ps 不带参数的 ps 命令运行时&#…

自监督对比学习系列论文(二):有引导对比学习--SCCL,SwAV,PCL,SupervisedCon

自监督对比学习 本篇承接前一篇自监督对比学习的介绍自监督对比学习系列论文&#xff08;一&#xff09;&#xff1a;无引导对比学习–MOCO,SimCLR&#xff0c;这次主要关注于包含先验指导的对比学习&#xff0c;这一指导更进一步的可以区分为聚类指导以及标签指导两种类型。前…

CMake 安装与打包

书接上回&#xff0c;前面我们已经介绍了动态库、静态库的构建和使用&#xff0c;这里将介绍项目构建完成后的安装和打包发布 上一节&#xff1a; 动态库、静态库的构建与使用_爱钓鱼的歪猴的博客-CSDN博客 目录 一、安装 1、理解install命令 2、CMakeLists.txt 3、执行安装…

Class 08 - 数据的读取和保存 R语言中的管道(pip)功能

Class 08 - 数据的读取和保存 & R语言中的管道&#xff08;pip&#xff09;功能 数据的读取和保存data() - 加载R中的数据集readr 功能包介绍readr 包中读取文件的函数read_csv() 读取 .csv 文件 readxl 包读取Excel文件read_excel() - 读取Excel文件excel_sheets() - 读取…