首页 > 其他分享 >天梯赛L1-044 稳赢

天梯赛L1-044 稳赢

时间:2023-05-15 15:01:29浏览次数:37  
标签:count 输出 平局 Bu L1 稳赢 044 ChuiZi

一、问题描述

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

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

输入格式:

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

输出格式:

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

输入样例:

2
ChuiZi
JianDao
Bu
JianDao
Bu
ChuiZi
ChuiZi
End
 

输出样例:

Bu
ChuiZi
Bu
ChuiZi
JianDao
ChuiZi
Bu

二、设计思路

1、从键盘接收一个k,即平局间隔的次数;

2、用while(1)死循环来接收字符串,代表对方的每一次出招,如果是“End”就break结束,如果不是则对应进行判断;

3、定义一个变量count来记录赢得次数,以达到每进行k局就平局的要求,初始值为0;

4、当count!=k时,如果对方出“石头”,就输出“布”,如果对方出“布”,就输出“剪刀”,如果对方出“剪刀”,就输出“石头”,当count==k时,对方出啥我就输出啥,并在输出完后将count置为0;

三、程序流程图

 

四、伪代码

五、代码

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int k;
 6     cin >> k;
 7     int i = 0;
 8     getchar();
 9     int count = 0;
10     while (1)
11     {
12         string s;
13         cin >> s;
14         if (s == "End")
15         {
16             break;
17         }
18             if (count == k)
19             {
20                 cout << s << endl;
21                 count = 0;
22             }
23             else
24             {
25                 count++;
26                      if (s == "ChuiZi")
27             {
28                 cout << "Bu" << endl;
29             }
30             else if (s == "Bu")
31             {
32                 cout << "JianDao" << endl;
33             }
34             else if (s == "JianDao")
35             {
36                 cout << "ChuiZi" << endl;
37             }
38             }
39       }
40         return 0;
41     }

 

六、总结

1、while(1)是一个死循环,可以从键盘接收无限次数据,直到出现不满足要求的数据;

2、类似于间隔n次就出现一次特殊情况的问题,可以定义一个变量作为计数器,初始值为0,当计数器等于n时特殊处理,过后再将计数器置为0;

标签:count,输出,平局,Bu,L1,稳赢,044,ChuiZi
From: https://www.cnblogs.com/lian369/p/17401896.html

相关文章

  • L1-003 个位数统计(C++)
    一、问题描述:给定一个 k 位整数 N=dk−1​10k−1+⋯+d1​101+d0​ (0≤di​≤9, i=0,⋯,k−1, dk−1​>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有2个0,3个1,和1个3。输入格式:每个输入包含1个测试用例,即一个不超过1000位的正整数......
  • postgresql14编译安装参考手册(centos)
    Linux平台编译安装的快捷参考(Centos7.X平台/Pg14beta3为例):说明:postgres官网源码编译安装操作步骤有一些小坑没更新过来,所以参考官网的安装步骤重新整理了一下,PG12,13部署均可以参考该文档。参考链接:下载页面/Download:世界上功能最强大的开源数据库...icon-default.png?t=L892......
  • instantclient12&plsql12下载、安装及配置
    一、oracle11gclient下载安装及配置1.1下载instantclient下载链接根据操作系统和机器位数选择相应的下载链接1.2安装及配置1.在E盘创建文件夹比如oracle_client,将下载的压缩包解压到刚新建的文件夹中(E:\oralce_client\instantclient_11_2)。解压好就算安装完成2.在当前......
  • 2023 PTA天梯赛补题(L1 & L2)
    2023天梯赛L1&L2补题L1L1-089最好的文档输入输出题#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"Goodcodeisitsownbestdocumentation.";return0;}L1-090什么是机器学习输入输出题#include<bits/stdc++.h>us......
  • Laravel10 Auth 多用户(管理员、用户的区分)
    参考https://learnku.com/docs/laravel/10.x/authenticationmd/14876#retrieving-the-authenticated-user环境软件/系统版本说明windows10php8.1.9-Win32-vs16-x64composer2.5.5laravel10.8.0mysql8.0.28注意如果需要使用密码功能,还需......
  • 天梯赛L1-070 吃火锅
    一、问题描述以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有 chi1huo3guo1。输入格式:输入每行给出一句不超过80个字符的、以回车结......
  • Windows10下安装OpenSSL curl WIN32 /WIN64 openssl1.1.x
     首先是环境,强调下环境,很多问题是环境造成的。1.WINDOWS1064位系统;2.VisualStudio2015 工具: 1.ActivePerl-5.24.3.2404-MSWin32-x64-404865.exe,下载地址:https://www.activestate.com/products/activeperl/downloads/  2. openssl-1.1.0f.tar.gz  下载地址: h......
  • L19_用日语表达自己想要某个东西
    概述在商店买东西的时候,想要告诉店员自己想要买某个物品,可以采用如下句式:物品名称が欲しいですが通过上述表达,可以告诉对方自己的需求,需要注意的是句尾要降下来,读的轻一点。动画会话A:あの、すみません。手袋が欲しいんですが。啊,打扰了,我想要一副手套。B:手袋(てぶく......
  • 天梯赛L1-058 6翻了
    一、问题描述“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦——目前的最高境界是数字“27”,因为这是3个“9”!本题就请你编写程序,将那些过时的、只......
  • leveldb无法在wsl1中使用
    1、WSL1不支持FUSE文件系统,因此无法在WSL1中直接使用LevelDB。LevelDB使用FUSE来提供基于文件的存储,因此在WSL1中无法正常运行。但是,您仍然可以在WSL1上使用Leveldb的API,只需将数据存储在本地文件系统中即可。这意味着您需要使用本地Windows文件系统或其他支持......