PAT (Basic Level) Practice 1018 锤子剪刀布

2023-11-04

 

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

FigCJB.jpg

现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。

输入格式:

输入第 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

 ps:(如果解不唯一,则输出按字母序最小的解),这条输出,我是设置了两个flag1[3]、flag2[3],下标为0的时候为’布‘的,下标为1的时候为’锤子‘的,下标为2的时候为’剪刀‘的,后面判断的时候就可以直接按字母序最小输出了

#include<iostream>
using namespace std;

int main()
{
	int n, i;
	cin >> n;

	char a, b;
	int awin = 0, aping = 0, alose = 0;
	int flag1[3] = { 0 }, flag2[3] = { 0 };
	for (i = 0; i < n; i++)
	{
		cin >> a >> b ;

		if (a == 'C'&&b == 'J')		{	awin++;		flag1[1]++; }
		else if (a == 'C'&&b == 'B'){	alose++;	flag2[0]++; }
		else if (a == 'C'&&b == 'C'){	aping++;	}
		else if (a == 'J'&&b == 'J'){	aping++;	}
		else if (a == 'J'&&b == 'C'){	alose++;	flag2[1]++; }
		else if (a == 'J'&&b == 'B'){   awin++;		flag1[2]++; }
		else if (a == 'B'&&b == 'B'){	aping++;	}
		else if (a == 'B'&&b == 'J'){	alose++;	flag2[2]++; }
		else if (a == 'B'&&b == 'C'){	awin++;		flag1[0]++; }	
	}

	cout << awin << " " << aping << " " << alose << endl;
	cout << alose << " " << aping << " " << awin << endl;

	int max1 = flag1[0], max2 = flag2[0];
	int max11 = 0, max22 = 0;
	for (i = 0; i < 3; i++)
	{
		if (flag1[i]>max1){ 
			max1 = flag1[i];
			max11 = i;
		}
		if (flag2[i] > max2){
			max2 = flag2[i];
			max22 = i;
		}
	}
	if (max11 == 0)			cout << "B";
	else if (max11 == 1)	cout << "C";
	else if (max11 == 2)	cout << "J";
	cout << " ";
	if (max22 == 0)			cout << "B";
	else if (max22 == 1)	cout << "C";
	else if (max22 == 2)	cout << "J";

	return 0;
}

 

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

PAT (Basic Level) Practice 1018 锤子剪刀布 的相关文章

  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • win10 安装 Ubuntu 子系统

    参考 Linux Ubuntu 20 04换阿里源 Ubuntu 20 04换国内源 清华源 阿里源 中科大源 163源 开启win10下Ubuntu子系统的SSH服务 Win10 wsl linux子系统ssh服务自启动设置 安装使用oh
  • 完美解决centos7下pdf中文不显示问题

    最近的网站开发中 有一个需要word转pdf的需求 本地发现word转pdf后中文正常展示 但是centos里面中文部分是空白的 针对此问题 解决方案如下 将本地windows里面的字体复制到linux上 windows10 字体路径为 C
  • 2024届IC秋招兆易创新数字IC后端笔试面试题

    数字IC后端实现PR阶段设计导入需要哪些文件 设计导入需要的文件如下图所示 这个必须熟练掌握 只要做过后端训练营项目的 对这个肯定是比较熟悉的 大家还要知道每个input文件的作用是什么 在吾爱IC后端训练营Cortexa7core项目中
  • python读音-原来Python应该这么念,怪不得总被嘲笑~

    原标题 原来Python应该这么念 怪不得总被嘲笑 Python具有简单 易学 免费 开源 可扩展 可嵌入 面向对象等优点 它的面向对象甚至比java和c net更彻底 可以与C 完美融合 两者堪称 万金油 相信很多人都不知道Python这
  • 常见(MySQL)面试题(含答案)

    常见 MySQL 面试题 含答案 本文的面试题如下 MyisAM和innodb的有关索引的疑问 innodb为什么要用自增id作为主键 MySql索引是如何实现的 说说分库与分表设计 面试过 聚集索引与非聚集索引的区别 事务四大特性 ACI
  • DataSource数据源

    本文详细的介绍了 JAVA中的数据源 认真看下来 你一定会收获满满 文章目录 一 DataSource接口 二 SpringBoot中的DataSource相关 1 默认提供一个数据源 2 自定义数据源 与 默认数据源 优先级 3 myba
  • win7中vscode配置jupyter

    一 内容简介 win7下用vscode写python程序 二 主要流程 3 1 安装环境 3 2 使用vscode运行调试python代码 3 3 vscode调用jupyter运行调试python代码 三 具体步骤 4 1 安装环境 vs
  • jsp Request原理

    jsp Request原理 1 Tomcat 服务器会根据请求url中的资源路径 创建对应的ServletDemo1的对象 2 tomcat服务器 会创建request和response对象 request对象封装请求消息数据 3 tomc
  • fijkplayer的使用

    1 配置 pubspec yaml 加入 fijkplayer 0 10 1 2 直接使用 import dart math import package flutter material dart import package fijkp
  • python面试题总结_2019(有解释答案) --3

    目录 50 Python 交换两个变量的值 51 在读文件操作的时候会使用 read readline 或者 readlines 简述它们各自的作用 52 json序列化时 可以处理的数据类型有哪些 如何定制支持 datetime 类型 5
  • 前端如何使用微信支付

    一 h5页面支付 h5页面接入微信支付分为两种情况 一种微信内置浏览器调用支付 另一种是在外置浏览器调用支付 内置浏览器支付 内置浏览器支付使用JSAPI支付 前端调用代码 wx chooseWXPay timestamp 0 支付签名时间
  • MySQL 服务器进程 mysqld的组成

    有连接层 SQL 层 存储层组成 连接层 为每个连接维护一个线程 进行身份验证 处理查询执行 SQL 层 包括了解析 授权分析 优化 执行 查询日志记录 存储层 管理表数据 常见的存储引擎有 InnoDB MyISAM MEMORY 和 N
  • python爬虫接口_爬虫与API(上)

    本系列两篇文章讲API的概念 以及它在爬虫中的使用 分为如下部分 API概念 库的API 数据API Github API httpbin 其他API 由于篇幅限制 本文只展示API概念 库的API 数据API API概念 API Appl
  • 程序员必知的23种设计模式之策略模式

    文章目录 1 模式引入 鸭子项目 2 传统方案解决鸭子问题 3 传统方式解决鸭子问题分析和解决方案 4 策略模式基本介绍 4 1 策略模式的原理类图 4 2 说明 5 策略模式解决鸭子问题 6 策略模式的注意事项和细节 1 模式引入 鸭子项
  • 比较两个版本字符串version1和version2

    时间限制 1秒 空间限制 32768K 如果version1 gt version2 返回1 如果 version1 lt version2 返回 1 不然返回0 输入的version字符串非空 只包含数字和字符 字符不代表通常意义上的小数
  • 23.7.14——23.7.16周末作业

    思维导图 2 有1 2 3 4个数字 能组成多少互不相同且无重复的三位 都是多少 3 终端输入一个数 输出他的二进制 二进制输出不可用格式符 4 定义一个一维整型数组 使用for循环实现数组中元素的输入输出 5 终端输入两个数 求这两个数的
  • windows下PL/SQL Developer连接Orcale

    2 使用PL SQL Developer连接Orcale 这是第三方开发的工具 用于编写PL SQL 代码 调试 查看执行计划等等功能 比较方便 但是是付费软件 Oracle 没有收购这家公司 大家只能用低版本的绿色版 性能有很大的问题 而
  • JavaScript数据结构之队列

    class Queue constructor this count 0 this list this lowestCount 0 往队列添加元素 enqueue element this list this count element t
  • 补充:tensor之间进行矩阵相乘的方法总结

    利用 进行简单的矩阵乘 符号在tensor中就表示矩阵相乘 符号的矩阵相乘性质在numpy中依然适用 首先矩阵相乘的双方必须满足可以矩阵相乘的条件 只会关注两个矩阵最里面的两个维度是否符合条件 外面的维度都只表示矩阵运算的次数 甚至两个矩阵
  • PAT (Basic Level) Practice 1018 锤子剪刀布

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