日常记录:天梯赛练习集L1-044 稳赢

news2024/9/24 10:18:23

题目:

 

大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:

现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。

输入格式:

输入首先在第一行给出正整数K(≤10),即平局间隔的次数。随后每行给出对方的一次出招:ChuiZi代表“锤子”、JianDao代表“剪刀”、Bu代表“布”。End代表输入结束,这一行不要作为出招处理。

输出格式:

对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。

输入样例:

2
ChuiZi
JianDao
Bu
JianDao
Bu
ChuiZi
ChuiZi
End

输出样例:

Bu
ChuiZi
Bu
ChuiZi
JianDao
ChuiZi
Bu

 解答:

题目分析:

  • 我们的输出稳赢不输
  • 每隔k次要打平一次,即每k+1次里的第k+1次必须打平
  • 输赢判断就是正常的石头剪刀布规则

操作实现:

  1. 定义string数组,存放三种招式,且后一个招式能赢前一个招式
  2. 定义cmp函数,返回一个招式,若flag为false则打平,若flag为true则取胜(找到招式a在s[]里的下标i,并返回s[(i+1)%3])
  3. 利用while循环进行输入,当输入End时退出循环
  4. 定义出招次数count,当count为k+1的倍数时表示已经赢了k次,目前这一次需要打平,每次循环之后都要进行count++

代码实现:

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

string s[3] = {"ChuiZi", "Bu", "JianDao"};

string cmp(string a, bool flag);

int main()
{
    int k; cin >> k;
    string t; cin >> t;
    int count = 1;
    while(t != "End")
    {
        if(count % (k + 1) != 0) cout << cmp(t, true) << endl;
        else cout << cmp(t, false) << endl;
        count++;
        cin >> t;
    }
    return 0;
}

string cmp(string a, bool flag)
{
    if(!flag) return a;
    int i = 0;
    while(a != s[i]) i++;
    return s[(i + 1) % 3];
}

PTA题目地址

欢迎大家探讨

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

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

相关文章

软件测试能干多久?测试员能干到多大年龄?

测试员可以工作多少年?大多数人认为软件测试是吃青春饭的工作。只能干到30岁&#xff0c;最长可达35岁。我经常听到这样的话&#xff0c;都让人倍感压力。今天&#xff0c;我们来谈谈这个老话题… 软件测试能干多久&#xff1f; 软件测试并没有明确的职业寿命限制&#xff…

【高项】项目的概念,项目管理基础与立项管理

【高项】项目的概念&#xff0c;项目管理基础与立项管理 文章目录1、什么是项目&#xff1f;项目的概念2、项目管理知识体系2.1 组织结构对项目的影响2.2 信息系统项目的生命周期2.3 单个项目的管理过程3、立项管理3.1 熟悉立项的流程&#xff08;申请书->可行性->评估-&…

【《C Primer Plus》读书笔记】第16章:C预处理器和C库

【《C Primer Plus》读书笔记】第16章&#xff1a;C预处理器和C库16.1 翻译程序的第一步16.2 明示常量&#xff1a;#define16.2.1 记号16.2.2 重定义常量16.3 在#define中使用参数16.3.1 用宏参数创建字符串&#xff1a;#运算符16.3.2 预处理器黏合剂&#xff1a;##运算符16.3.…

@SpringBootApplication详细分析

如下图 SpringBootApplication是springboot项目启动类的注解&#xff0c;也是程序的入口,本文就是具体解析一下这个注解到底做了什么 一.SpringBootApplication的构成 1.这个注解是一个组合注解&#xff0c;他是有三个注解合成的&#xff0c;对应图中的123步&#xff0c;而这三…

【HDR图像处理】HDR图像的色调映射 | python+opencv代码实现总结

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、前提opencv知识1.1、opencv打开一般照片并且显示1.2、opencv打开HDR图像&#xff08;这里先不讲如何imshow&#xff09; 二、经典的色调映射技术以及opencv…

Web 攻防之业务安全:密码找回流程绕过测试.(利用链接跳到后面去)

Web 攻防之业务安全&#xff1a;密码找回流程绕过测试 业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台&#xff08;操作系统、数据库&#xff0c;中间件等&#xff09;、业务系统自身&#xff08;软件或设备&#xff09;、业务所…

MATLAB | 优化工具箱(optimization toolbox)改版后的live editor工具咋用

优化工具箱(optimization toolbox)改版后的live editor工具咋用&#xff1f;本来是不咋想讲这玩意的&#xff0c;但奈何问的人还不少&#xff0c;这里简单讲一下咋用哈。 很多人下了比较新版本MATLAB就顺手像往常一样点开了优化工具箱&#xff0c;但是熟悉的优化APP界面却并没…

网络安全学习路线,小白必备

前言&#xff1a; 趁着今天下班&#xff0c;我花了几个小时整理了下学习路以及我的学习心得&#xff0c;非常不易&#xff0c;希望大家可以点赞收藏支持一波&#xff0c;谢谢。 我的经历&#xff1a; 我 19 年毕业&#xff0c;大学专业是物联网工程&#xff0c;我相信很多人在…

BPM流程引擎升级,让流程管理更简单!

BPM是Business Process Management的缩写&#xff0c;即业务流程管理。 它是一种以构造端到端的业务流程为中心&#xff0c;以持续提高组织业务绩效为目的的系统化方法。通常&#xff0c;BPM也指流程管理的信息化系统。 BPM对企业很多应用场景都有价值&#xff0c;总的来说&am…

Web 攻防之业务安全:验证码绕过测试.(修改数据包中 res_code 的值 实现绕过.)

Web 攻防之业务安全&#xff1a;验证码绕过测试. 业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台&#xff08;操作系统、数据库&#xff0c;中间件等&#xff09;、业务系统自身&#xff08;软件或设备&#xff09;、业务所提供…

【Linux系统管理进程,运行,挂起,杀死进程和crontab计划任务表的使用以及实验的心得体会】

实验 &#xff08;1&#xff09;显示本用户的进程&#xff0c;重定向到file1 top命令如果不加限制&#xff0c;默认是查看所有用户的进程情况top -u [用户名] 可以查看该用户名的所有进程 &#xff08;2&#xff09;显示本用户所有进程&#xff0c;重定向到file2 top命令如果…

扩展c盘时,如何删除恢复分区

目录 一、前言 二、操作步骤 一、前言 有没有和小编一样想要扩展自己c盘容量时遇到问题的&#xff1f; 就是发现c盘和自己扩展的容量之间有个恢复分区&#xff0c;主要是磁盘管理器那里还删不掉&#xff1f; 就不知道怎么办了&#xff0c;小编摸索了一下最终解决了现在分享…

网络IO(non-blocking io)基础

BIO&#xff08;blocking io&#xff09; 传统的网络io模式&#xff0c;面向流&#xff0c;一个线程对接一个会话&#xff0c;因此高并发时会因线程阻塞而性能低效 Java代码&#xff1a; public class BIO implements Connector {private Integer port 8080;Overridepublic v…

前端学习:HTML颜色(什么是RGB、HEX、HSL)

一、什么是RGB、HEX、HSL&#xff1f; 无论是RGB、HEX、HSL&#xff0c;它们的作用只有一个&#xff1a;用数字表达出一种颜色。 1.RGB RGB通过输入的数值&#xff0c;将红色、绿色和蓝色的光源以一定的量混合在一起&#xff0c;形成颜色。 软件中通常让你输入Red、Green、B…

Unity编写Shader基本知识

返回目录 大家好&#xff0c;我是阿赵。 这里通过手写一个最简单的shader&#xff0c;来介绍一下在Unity里面编写Shader的一些基础知识。 一、Shader基本结构 新建一个shader&#xff0c;把里面的内容都删掉&#xff0c;然后输入下面这些内容 shader "testShader"…

GeoIP2:检验IP地址位置识别的实用性

文章目录前言安装环境软件版本说明libmaxminddb 环境安装ngx_http_geoip2_module 安装GeoLite2 数据库下载定时更新测试定位安装模块应用场景重点仅限中国访问&#xff0c;国外禁止仅限中国访问&#xff0c;但放开国外部分IP不同国家展示不同页面IP地址解析总结前言 GeoIP2是一…

我好像发现了PMP通关密码,这14页纸直接背!

备考PMP的宝子们一定要用上这份通关口诀哦&#xff01; 一周就能背完的PMP考试技巧只有14页纸&#xff0c;共分成了4大模块&#xff0c;完全不用担心看不懂&#xff0c;需要的朋友可以戳下面的卡片在群文件下载&#xff0c;直接打印出来就能背哦&#xff0c;没有任何套路&…

Java每日一练(20230415)

目录 1. 扰乱字符串 &#x1f31f;&#x1f31f;&#x1f31f; 2. 单词拆分 &#x1f31f;&#x1f31f; 3. 模拟计算器 ※ &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 扰乱字符…

Improved Knowledge Distillation via Teacher Assistant小陈读paper系列

算是经典了吧哈哈 1.他们发现了学生性能下降了&#xff0c;什么时候呢&#xff1f;就是老师模型和学生模型差的太多的时候有了很大gap&#xff08;一个学生不能请一个维度跨越巨大的老师&#xff09;&#xff08;老师可以有效地将其知识转移到一定大小的学生&#xff0c;而不是…

Java导入导出

目录前端Apache POI引依赖导入导出工具类EasyExcel引依赖读Excel指定列名多个Sheet使用提供的转换器或自定义格式转换器对读取到的数据进行格式转换行头即列名写Excel指定导出列复杂头写入日期、数字或自定义格式转换对导出数据进行处理自定义样式合并单元格动态列表头自定义拦…