P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布

news2024/11/18 3:48:24

题目描述

石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。在《生活大爆炸》第二季第 8 集中出现了一种石头剪刀布的升级版游戏。

升级版游戏在传统的石头剪刀布游戏的基础上,增加了两个新手势:

斯波克:《星际迷航》主角之一。

蜥蜴人:《星际迷航》中的反面角色。

这五种手势的胜负关系如表一所示,表中列出的是甲对乙的游戏结果。

现在,小 A 和小 B 尝试玩这种升级版的猜拳游戏。已知他们的出拳都是有周期性规律的,但周期长度不一定相等。例如:如果小 A 以“石头-布-石头-剪刀-蜥蜴人-斯波克”长度为 66 的周期出拳,那么他的出拳序列就是“石头-布-石头-剪刀-蜥蜴人-斯波克-石头-布-石头-剪刀-蜥蜴人-斯波克-......”,而如果小 B 以“剪刀-石头-布-斯波克-蜥蜴人”长度为 55 的周期出拳,那么他出拳的序列就是“剪刀-石头-布-斯波克-蜥蜴人-剪刀-石头-布-斯波克-蜥蜴人-......”

已知小 A 和小 B 一共进行 NN 次猜拳。每一次赢的人得 11 分,输的得 00 分;平局两人都得 00 分。现请你统计 NN 次猜拳结束之后两人的得分。

输入格式

第一行包含三个整数:N,N_A,N_BN,NA​,NB​,分别表示共进行 NN 次猜拳、小 A 出拳的周期长度,小 B 出拳的周期长度。数与数之间以一个空格分隔。

第二行包含 N_ANA​ 个整数,表示小 A 出拳的规律,第三行包含 N_BNB​ 个整数,表示小 B 出拳的规律。其中,00 表示“剪刀”,11 表示“石头”,22 表示“布”,33 表示“蜥蜴人”,44表示“斯波克”。数与数之间以一个空格分隔。

输出格式

输出一行,包含两个整数,以一个空格分隔,分别表示小 A、小 B 的得分。

输入输出样例

输入 #1复制

10 5 6
0 1 2 3 4
0 3 4 2 1 0

输出 #1复制

6 2

输入 #2复制

9 5 5
0 1 2 3 4
1 0 3 2 4

输出 #2复制

4 4

说明/提示

对于100\%100%的数据,0 < N \leq 200, 0 < N_A \leq 200, 0 < N_B \leq 2000<N≤200,0<NA​≤200,0<NB​≤200 。

 

 说明:当然二维数组做这道题是最优解,可是蒟蒻没想到~~

我觉得这个solve写的也还不是太差,斗胆水一篇

好吧,贴上蒟蒻的代码:

#include<iostream>
using namespace std;

void solve(int a, int b, int& cntA, int& cntB) {
	if (a == b)return;
	if (a < b) {
		if (a - b == -1 && a != 3) {
			++cntB;
		} else if (a - b == -2) {
			++cntA;
		} else if (a == 3 && b == 4) {
			++cntA;
		} else if (a == 0 && b == 3) {
			++cntA;
		} else if (a == 0 && b == 4) {
			++cntB;
		} else if (a == 1 && b == 4) {
			++cntB;
		}
		return ;
	} else {
		solve(b, a, cntB, cntA);//将a,b调换位置,再次调用solve函数,省了写另一半的时间
		return ;
	}
}

int main() {
	int N, NA, NB;
	int cntA = 0, cntB = 0;
	cin >> N >> NA >> NB;
	int a[NA] = {0}, b[NB] = {0};
	for (int i = 0; i < NA; i++) {
		cin >> a[i];
	}
	for (int i = 0; i < NB; i++) {
		cin >> b[i];
	}
	int i = 0, j = 0;
	while (N--) {
		if (i >= NA)i = 0;
		if (j >= NB)j = 0;
		solve(a[i], b[j], cntA, cntB);
		++i, ++j;
	}
	cout << cntA << ' ' << cntB << endl;
	return 0;
}

太水了

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

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

相关文章

捷报频传 | Bonree ONE获2022科技赋能金融业场景金融建设突出贡献奖

近日&#xff0c;由《金融电子化》杂志社主办的“2022第十三届金融科技应用创新奖”评选结果正式揭晓。本次评奖围绕项目先进性、项目创新点、项目对推动数字化转型及提升服务能力的作用、社会及经济效益等维度展开。博睿数据一体化智能可观测平台Bonree ONE再次脱颖而出&#…

【 Tomcat服务器】

文章目录二、Web服务器2.1 概念2.1.1 什么是Web2.1.2 什么是Web服务器2.2 常见Web服务器2.3 Tomcat服务器2.3.1 Tomcat的下载2.3.2 Tomcat的安装2.3.3 Tomcat的目录结构2.3.4 Tomcat的启动2.3.5 Tomcat的停止运行所需jar包2.3.5 Tomcat的停止2.3.6 修改Tomcat端口号2.3.7 项目部…

有关文件IO操作的错误(error)提示

在编程中&#xff0c;我们一般都是要讲究一定的使用规范的。按照一定的规范编写代码&#xff0c;返回运行提示&#xff0c;在代码运行出现问题时能方便我们能快速的定位到问题的所在。 特别是在使用库函数或者系统调用的API的时候&#xff0c;我们最好也要关注函数的返回值所能…

INTENT2022--一道包含12个反调试反虚拟机操作的ctf题解

作者&#xff1a;selph 从一道Re题学习12种反调试反虚拟技术 题目&#xff1a;AntiDebuggingEmporium 来源&#xff1a;INTENT CTF 2022 Re 这个题目很有意思&#xff0c;里面出现了总共12个反调试反虚拟机的操作&#xff0c;本文内容分两部分&#xff0c;前部分是题解&…

六西格玛奠基人之张驰染阳杂记

中招第1天&#xff1a; 上周四从外地出差回来&#xff0c;落地就觉得有点全身乏力&#xff0c;晚上开始发冷&#xff0c;预感可能中招了。大数据预测深圳第一波疫情高峰发生在12月20日&#xff0c;陆续接到深圳同事亲友中招的消息&#xff0c;感慨真是神预测。 因为头晕目眩&…

LeetCode419.甲板上的战舰

LeetCode刷题记录 文章目录&#x1f4dc;题目描述&#x1f4a1;解题思路⌨C代码&#x1f4dc;题目描述 给你一个大小为 m x n 的矩阵 board 表示甲板&#xff0c;其中&#xff0c;每个单元格可以是一艘战舰 X 或者是一个空位 . &#xff0c;返回在甲板board上放置的 战舰 的数量…

Elasticsearch 日志能否把全部请求打印出来?

1、实战问题请问一下球主&#xff0c;es怎么配置可以把请求日志都打印出来。就是不管是调用借口&#xff0c;还是kibana查询数据&#xff0c;es能打印dsl的请求日志吗&#xff1f;&#xff1f;求指导。怎么配置&#xff1f;——问题来源&#xff1a;https://t.zsxq.com/09vv8rq…

现代细胞计数分析平台丨OMIQ简介

单细胞分析&#xff0c;变得简单 OMIQ是一个现代细胞计数分析平台&#xff0c;它将机器学习和分析管道与经典手动分析的世界连接起来。它允许研究人员在一个软件中完成他们的整个工作流程&#xff0c;从原始数据到统计意义&#xff0c;使用他们自己的专业知识和熟悉的工具与数…

java养老系统养老院系统养老院网站源码

简介 本系统是养老院系统&#xff0c;主要是老人入住养老院的业务逻辑&#xff0c;有护工和医生对老人进行护理看病记录等信息管理&#xff0c;缴费入住外出记录管理等。 演示视频 https://www.bilibili.com/video/BV18i4y1Z7je/?share_sourcecopy_web&vd_sourceed0f04fb…

2022(核酸年)结束了

目录2022目标回顾2022生活回顾2023目标祝词现在是北京时间2022-12-30 15:08&#xff0c;再有一天2022就结束了&#xff0c;岁月催人老啊&#xff01;同样又到了一年一度总结的时候了&#xff0c;我清楚记得在 2021年度总结中定下了我的今年目标&#xff0c;即如此那我们一同看看…

strcmp(),strcat(),strcpy()函数复习与模拟实现

tips 1. 与--都是有副作用的&#xff0c;而有关于位的运算都是没有副作用的。 既然是与字符串有关的函数&#xff0c;不得不提一下&#xff1a;\0是字符串结束符&#xff0c;对应到ascll表里面是空字符NULL&#xff0c;对应的ACSLL码为0. 1. 字符串许多函数的操作与\0有些密…

剩余电流继电器在大型游乐场所中的应用探讨

【摘要】游乐场所中大型游乐设备的运转离不开电力系统的支持&#xff0c;例如受到小朋友们欢迎的观光火车&#xff0c;自控飞机&#xff0c;豪华转马等。目前许多游乐经营者在安全用电方面的意识还比较薄弱&#xff0c;存在一定的游乐安全隐患&#xff0c;本文就剩余电流继电器…

机器学习笔记之Sigmoid信念网络(三)KL散度角度观察醒眠算法

机器学习笔记之Sigmoid信念网络——KL散度角度观察醒眠算法引言回顾&#xff1a; 醒眠算法过程KL Divergence\text{KL Divergence}KL Divergence观察醒眠算法引言 上一节介绍了MCMC以及平均场理论变分推断方法的弊端并介绍了醒眠算法(Weak-Sleep Algorithm)。本节将介绍从KL散…

ThinkPHP历史漏洞

文章目录ThinkPHP简介Thinkphp历史漏洞Thinkphp 2.x 任意代码执行漏洞漏洞描述影响版本漏洞复现Thinkphp5.0.23远程代码执行漏洞(CVE-2018-20062)漏洞描述影响版本漏洞复现ThinkPHP 5.0.x 未开启强制路由导致的RCE 漏洞分析(CNVD-2018-24942)漏洞描述影响版本漏洞复现ThinkPHP简…

2023元旦假期值得关注的空投与埋伏任务

不知不觉2023年元旦即将到来&#xff0c;这也是十一国庆之后大家迎来的第一次小假期&#xff0c;相信不少人已经开始“家里蹲”计划&#xff0c;不少项目方也最近搞了一些空投任务&#xff0c;刚好趁此时间也能刷空投&#xff0c;获得意外惊喜&#xff0c;这里我们为大家总结最…

【redis有序集合操作】

【zcount&#xff1a;统计有序集合分数区间内的成员数量】 zadd user_login 1 one zadd user_login 3 two zadd user_login 4 three zadd user_login 5 four ZCOUNT 返回有序集 key 中&#xff0c; score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量…

socket套接字

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 socket套接字1. 什么是socket套接字2. socket编程3. 网络字节序4. IP地址转换函数5. sockaddr数据结构…

【答学员问】服务器上安装好LAMP架构,部署wordpress之后网页端无法访问

文章目录问题反馈问题排查1. 首先是IP&#xff1a; 确认无误&#xff1a;2. 安装一下 php看看是否安装&#xff1a;3. 最后测试PHP是否能够解析再次沟通分析整理列清单排查测试过程1. 上传包解压2. 安装好LAMP架构并测试是否支持php3. 测试是否可以访问wordpress4. 查看日志排查…

Maven是怎么样构建Spring Boot项目的?

准备好项目运行所需的环境后&#xff0c;就可以使用IDEA开发工具搭建一个Spring Boot入门程序了。我们既可以使用Maven方式构建项目&#xff0c;也可以使用Spring Initializr快捷方式构建项目。这里先介绍如何使用Maven方式构建Spring Boot项目&#xff0c;具体步骤如下。 1.初…

SpringBoot+VUE前后端分离项目学习笔记 - 【06 SpringBoot集成Mybatis实现数据查询】

配置文件改成yaml格式&#xff1a; application.yml server:port: 9090spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/joyce?serverTimezoneGMT%2b8username: rootpassword: 123456写基本的功能来验证后台数据查询功能 …