PAT 1018 锤子剪刀布 (20分)

2023-11-11

1018 锤子剪刀布 (20分)

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

在这里插入图片描述
现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。

输入格式:
输入第 1 行给出正整数 N(≤10^​5 ),即双方交锋的次数。随后 N 行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C 代表“锤子”、J 代表“剪刀”、B 代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中间有 1 个空格。

输出格式:
输出第 1、2 行分别给出甲、乙的胜、平、负次数,数字间以 1 个空格分隔。第 3 行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有 1 个空格。如果解不唯一,则输出按字母序最小的解。

输入样例:

10
C J
J B
C B
B B
B C
C C
C B
J B
B C
J J

输出样例:

5 3 2
2 3 5
B B

代码

#include<iostream> 
using namespace std;
int main()
{
	int n; cin>>n;
	int a[3]={0},b[3]={0};
	/* a[0] 甲锤赢
	   a[1] 甲剪刀赢
	   a[2] 甲布赢 */
	int draw = 0; 
	while(n--)
	{
		char A,B;
		cin>>A>>B;
		if(A=='C' && B=='J') a[0]++; 
		else if(A=='J' && B=='B') a[1]++;
		else if(A=='B' && B=='C') a[2]++;
		else if(A=='J' && B=='C') b[0]++;
		else if(A=='B' && B=='J') b[1]++;
		else if(A=='C' && B=='B') b[2]++;
		else draw++;
	}
	int sum=0,sum2=0;
	sum=a[0]+a[1]+a[2];
	sum2=b[0]+b[1]+b[2];
	printf("%d %d %d\n",sum,draw,sum2);
	printf("%d %d %d\n",sum2,draw,sum);
	int max1=max(max(a[0],a[1]),a[2]);
	int max2=max(max(b[0],b[1]),b[2]);
	if(max1==a[2]) cout<<"B ";      //按字母序输出 
	else if(max1==a[0]) cout<<"C ";
	else if(max1==a[1]) cout<<"J ";
	if(max2==b[2]) cout<<"B";
	else if(max2==b[0]) cout<<"C";
	else if(max2==b[1]) cout<<"J";
	return 0;
}

水题,小tips:比大小可以用C++自带的max函数

更多题解:

PAT乙级题解大全 C++

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PAT 1018 锤子剪刀布 (20分) 的相关文章

  • pat(甲级)1004(dfs)

    1004 Counting Leaves 30 xff08 30 分 xff09 A family hierarchy is usually presented by a pedigree tree Your job is to count
  • PAT

    1045 快速排序 25分 著名的快速排序算法里有一个经典的划分过程 我们通常采用某种方法取一个元素作为主元 通过交换 把比主元小的元素放到它的左边 比主元大的元素放到它的右边 给定划分后的 N 个互不相同的正整数的排列 请问有多少个元素可
  • B1094 谷歌的招聘 (20 分)

    2004 年 7 月 谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌 如下图 用于招聘 内容超级简单 就是一个以 com 结尾的网址 而前面的网址是一个 10 位素数 这个素数是自然常数 e 中最早出现的 10 位连续数字 能找出这个
  • 7-1 用格里高利公式求给定精度的PI值 (15分)

    教育超市 浙大版 C语言程序设计 第3版 第4章 循环结构 练习4 1 用格里高利公式求 的近似值 本题要求编写程序 计算序列部分和 4 1 1 3 1 5 1 7 直到最后一项的绝对值小于给定精度eps 输入格式 输入在一行中给出一个正实
  • 交换机与路由器技术-35-端口多路复用PAT

    目录 一 端口多路复用 PAT 1 1 概述 1 2 端口映射 服务器映射 1 3 配置端口多路复用 1 3 1 方式一 使用单独的公网IP 第一步 定义内网和外网接口 第二步 定义内网地址范围 外网地址 1 使用ACL 允许某个范围的内网
  • 2020年十二月ccf-csp认证总结(内附个人题解)

    吐槽一下这个在线评测功能 平均四十分钟才能看到提交结果 本次成绩为100 100 0 30 20 最后两道题都是骗的分 提醒自己附代码的神奇图片 希望寒假有时间把没做出来的题目也再做一遍 csp官网更新出题目后 有路过的可以提醒我把题目加上
  • PAT乙级1074. 宇宙无敌加法器(C语言)

    PAT乙级真题题解目录 可回顾 1048 数字加密 都涉及使数字位数一致 1 不同位数的PAT数之间如何方便相加 构造相同大小的字符数组 按位数存储对应的数字 2 相加时转为数字进行运算 3 结果为0 为特殊情况 单独写输出代码 inclu
  • pta 一元多项式的乘法与加法运算

    7 2 一元多项式的乘法与加法运算 20 分 设计函数分别求两个一元多项式的乘积与和 输入格式 输入分2行 每行分别先给出多项式非零项的个数 再以指数递降方式输入一个多项式非零项系数和指数 绝对值均为不超过1000的整数 数字间以空格分隔
  • 1004. 成绩排名 (20)

    读入n名学生的姓名 学号 成绩 分别输出成绩最高和成绩最低学生的姓名和学号 输入格式 每个测试输入包含1个测试用例 格式为 第1行 正整数n 第2行 第1个学生的姓名 学号 成绩 第3行 第2个学生的姓名 学号 成绩 第n 1行 第n个学生
  • PAT 1033 旧键盘打字

    题目链接 请点击 思路 用string定义两个字符串 然后比较就可以了 然而 开始直接用cin gt gt str1 gt gt str2 导致有部分测试点始终未过去 后来参考他人的博客才发现这里应该用getline原因就在于第一行可能是空
  • 1048 数字加密 (20 分)

    题目描述 本题要求实现一种数字加密方法 首先固定一个加密用正整数 A 对任一正整数 B 将其每 1 位数字与 A 的对应位置上的数字进行以下运算 对奇数位 对应位的数字相加后对 13 取余 这里用 J 代表 10 Q 代表 11 K 代表
  • 【PAT甲级A1125】 Chain the Ropes (25分)(c++)

    1125 Chain the Ropes 25分 作者 CHEN Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 200 ms 内存限制 64 MB Given some segments of rope you are sup
  • 1033 旧键盘打字 (20分)

    这道题很坑的一点就是 有可能坏掉的键盘是空串 所有的键都是好的 如下测试用例 input NULL abcdefg output abcdefg 所以 用字符串数组的不能直接用scanf s str 读入 用string的也不能直接用cin
  • 1012.数字分类- PAT乙级真题

    给定一系列正整数 请按要求对数字进行分类 并输出以下 5 个数字 A 1 能被 5 整除的数字中所有偶数的和 A 2 将被 5 除后余 1 的数字按给出顺序进行交错求和 A3 被 5 除后余 2 的数字的个数 A 4 被 5 除后余 3 的
  • 【PAT乙级】旧键盘打字

    题目描述 旧键盘上坏了几个键 于是在敲一段文字的时候 对应的字符就不会出现 现在给出应该输入的一段文字 以及坏掉的那些键 打出的结果文字会是怎样 输入格式 输入在 2 行中分别给出坏掉的那些键 以及应该输入的文字 其中对应英文字母的坏键以大
  • PAT B1014

    include
  • 8-0. 查找整数(10)

    本题要求从输入的N个整数中查找给定的X 如果找到 输出X的位置 从0开始数 如果没有找到 输出 Not Found 输入格式 输入在第1行中给出2个正整数N lt 20 和X 第2行给出N个整数 数字均不超过长整型 其间以空格分隔 输出格式
  • 分支-11. 计算工资(15)

    某公司员工的工资计算方法如下 一周内工作时间不超过40小时 按正常工作时间计酬 超出40小时的工作时间部分 按正常工作时间报酬的1 5倍计酬 员工按进公司时间分为新职工和老职工 进公司不少于5年的员工为老职工 5年以下的为新职工 新职工的正
  • ts 流基础(白话讲解).

    author hjjdebug date 2022年 09月 27日 星期二 ts 流就是188个字节构成的流数据 先来点最简单的 ts 头部 4字节 ts 流是47开头的 以188字节为单位的打包流 由4字节包头及包体构成 4字节第一个4
  • 【PAT】B1032 挖掘机技术哪家强 (20 分)_C语言实现

    1 挖掘机技术哪家强 20 分 为了用事实说明挖掘机技术到底哪家强 P A T PAT PAT 组织了一场挖掘机技能大赛 现请你根据比赛结果统计出技术最强的那个学校 输入格式 输入在第 1

随机推荐

  • Jetson Nano 40 pin 功能介绍

    40 根引脚主要分成GPIO General Purpose I O 通用功能与SFIO Special Function I O 特定功能 一 SFIO 18根 1 5V 直流电输入 输出 脚位 2 4 在排针脚塑料使用 红色 标识 2根
  • Java SE 16 record 类型说明与使用

    Java SE 16 record 类型说明与使用 作者 Grey 原文地址 博客园 Java SE 16 record 类型说明与使用 CSDN Java SE 16 record 类型说明与使用 说明 record 是 Java SE
  • Python3 爬取PAT个人乙级题所有答案代码

    Python3 爬取PAT个人乙级题所有答案 进入PAT乙级题题目页面 下面是链接 https pintia cn problem sets 994805260223102976 problems type 7 点开两个题目 观察两个链接有
  • 实验吧——认真一点!

    coding utf8 import requests import urllib 设置代理 用于调试过程中抓包分析 proxies http http localhost 9008 https http localhost 9008 he
  • 使用eclipse快速全局替换指定字符串

    1 按住 Ctrl H 调出全局搜索框 选择 File Search 文件搜索栏 2 输入需要搜索的字段和文件类型 点击下方的 Replace 按钮 如果搜索到对应的结果 则会弹出替换界面 此时输入需要替换的字段即可 具体操作如下图所示
  • Vue2 新手上路无处不在的特殊符号,让人傻傻分不清 “:”、“.”、“@”、“#” 、“{{}}“ 、“$“,‘$bus‘,‘$event‘

    背景 刚刚学vue没多久 经常分不清情况什么时候用什么符号 是指令 v bind 的缩写 是修饰符 是指令 v on 的缩写 它用于监听 DOM 事件 是v slot的缩写 插值语法 Vue 实例还暴露了一些有用的实例属性与方法 它们都有前
  • SG-Former:具有进化Token重新分配的自引导Transformer

    文章目录 摘要 1 简介 2 相关研究 3 方法 3 1 概述 3 2 自引导注意力 3 3 混合尺度注意力 3 4 Transformer块 3 5 Transformer架构变体 4 实验 4 1 ImageNet 1K的分类 4 2
  • TensorRT C++ 序列化serialize / 反序列化deserialize

    序列化Engine serialize the engine then close everything down const std string engine file tensorrt mnist trt nvinfer1 IHost
  • [数据结构复习]广义表

    1 形式 类似于 A B C D E F 2 广义表的存储 链表 每个节点的结构为 type 0表示附加头节点 1表示原子节点 2表示子表节点 data type 0时存放引用计数 1时存放data 2时存放指向子表表头的指针 link t
  • laravel middleware 中间件原码分析 之array_reduce getSlice

  • Linux下Git与GitHub的零基础快速入门(一)

    一 写在前面 Git 是一个开源的分布式版本控制系统 用于敏捷高效地处理任何或小或大的项目 GitHub是一个面向开源及私有软件项目的托管平台 因为只支持Git作为唯一的版本库格式进行托管 故名GitHub 基本功能作为开源代码库以及版本控
  • Win10 DNS解析失败解决方法

    概要 最近在使用win10系统的过程中 无法获取dns报错 上不了网 经过一番折腾 最终在用下面 的方法 解决了问题 第二步很关键 完成步一下步骤重启电脑应该就可以上网了 第一步 使用 ipconfig flushdns 命令刷新DNS解析
  • mysql的事务

    事务是什么 事务将数据库从一种一致性状态转换为另一种一致性状态 事务可由一条非常简单的SQL语句组成 也可以由一组复杂的SQL语句组成 在数据库提交事务时 可以确保要么所有修改都已经保存 要么所有修改都不保存 事务是访问并更新数据库各种数据
  • PaddleDetection中一些特色模型介绍

    CBNet 论文题目 CBNet A Novel Composite Backbone Network Architecture for Object Detection 论文地址 https arxiv org abs 1909 0362
  • GLES3.0中文API-glCompressedTexImage3D

    名称 glCompressedTexImage3D 以压缩格式指定三维纹理图像 C 规范 void glCompressedTexImage3D GLenum target GLint level GLenum internalformat
  • StrSubstitutor和StrUtil占位符字符串替换

    目录 一 commons lang包下的StrSubstitutor 1 使用场景一 2 使用场景二 二 hutoo包下的StrUtil 1 使用场景一 2 使用场景二 3 使用场景三 三 原生的三种方式 一 commons lang包下的
  • [JDBC连接] 使用JDBC操作数据库中的数据

    目录 什么是JDBC 前期配置 连接数据库 JDBC操作数据库 基本操作执行静态SQL语句 预编译操作执行动态SQL语句 处理返回结果 查询结果 增删改结果 JDBC处理事务 Druid连接池 关闭资源 总结 什么是JDBC JDBC就是通
  • 1-3年 Android 开发工程师面试经验分享

    code小生 一个专注 Android 领域的技术平台 公众号回复 Android 加入我的安卓技术群 作者 Android大强哥链接 https www jianshu com p 812a92661e82声明 本文已获Android大强
  • redis自增,定时任务更新评论数和阅读数

    redis定时任务自增实现阅读数和评论数更新 阅读数和评论数 考虑把阅读数和评论数 增加的时候 放入redis incr自增 使用定时任务 定时把数据固话到数据库当中 点击文章的方法里面实现文章阅读数自增 public ArticleVo
  • PAT 1018 锤子剪刀布 (20分)

    1018 锤子剪刀布 20分 大家应该都会玩 锤子剪刀布 的游戏 两人同时给出手势 胜负规则如图所示 现给出两人的交锋记录 请统计双方的胜 平 负次数 并且给出双方分别出什么手势的胜算最大 输入格式 输入第 1 行给出正整数 N 10 5