出牌游戏(game)
安徽省2016年信息学竞赛试题(小学组)
题目描述 Description
小学生卡卡西最喜欢的电影是哈利波特,她一直幻想着自己可以进入神奇的魔法世界,今年暑假的一个傍晚,一只猫头鹰带着一封神秘的邀请函来到了她的家中,邀请函里是一张车票,当天下午从合肥南站四又四分之三号站台出发,搭乘魔法快车,到世界魔法大学一日游。
卡卡西非常激动,赶快准备了行李,来到了火车站,可是她怎么也找不到四又四分之三号站台。小卡卡西急的满头大汗,最后只有去请教检票员。检票员在听说了小卡卡西的情况后将她带到了一间从未打开过的候车室,然后就离开了。
候车室里空空荡荡,墙上有2 幅画,一幅画着一个年长的白胡子巫师,好像邓波利多校长,一幅画着看不见面孔的黑胡子巫师,两幅画之间连着一条锁链,后面的墙上写着四又四分之三号站台,卡卡西试了很多办法,都没法把锁链打开,突然,她看到画里的人开始动了,白胡子巫师说:“小姑娘,你想去魔法学校?”“是的, 请问您知道怎么去么?”,“当然了,不过你需要帮我一个小忙!”“好的,请说……”,“我叫ALLEN(A),我和我的老对手黑胡子巫师BLACK(B)被安排看门已经很多年了,为了打发无聊的时间,我们常玩出牌游戏,可是次数太多了,我觉得是我赢,黑胡子觉得是他赢,争执不下,你能帮我们算清楚谁赢得多么?规则是这样的……”
老虎,鸡,虫子,棒子是常见的出牌游戏,老虎胜鸡,鸡胜虫子,虫子胜棒子,棒子胜老虎。其他情况则打平。
白胡子巫师A 和黑胡子巫师B 在玩游戏时,已知他们的出牌都是有周期性规律的,比如:“老虎-虫子-鸡-棒子-老虎-虫子-鸡-棒子,……”,就是以“老虎-虫子-鸡-棒子”为周期不断循环的,周期长度为4。请问,白胡子巫师A 和黑胡子巫师B 比了N 轮之后,谁赢的轮数多?
输入描述 Input Description
输入数据共三行。第一行有三个正整数(以空格隔开):N,NA,NB,分别表示比了N 轮,白胡子巫师A 出牌的周期长度,黑胡子巫师B 出牌的周期长度。第二行包含NA 个整数,表示白胡子巫师A 出牌的规律。
第三行包含NB 个整数,表示黑胡子巫师B 出牌的规律。
其中,1 表示“老虎”,2 表示“鸡”,3 表示“虫”, 4 表示“棒子”。相邻两个整数之间用单个空格隔开。
输出描述 Output Description
输出一行,如果A 赢的轮数多,输出A;如果B 赢的轮数多,输出B;如果两人打平,输出D。
样例输入 Sample Input
4 4 3 1 2 3 4 4 3 2
样例输出 Sample Output
B
数据范围及提示 Data Size & Hint
样例解释: A 和B 总共进行了4 轮,其中A 出牌的周期为4,出牌规律为1,2,3,4,即老虎-鸡-虫子-棒子,B 出牌的周期为3,出牌规律为4,3,2,即棒子-虫子-鸡。综上所述,这四轮A 出牌依次为老虎-鸡-虫子-棒子,B 出牌依次为棒子-虫子-鸡-棒子。这四轮的结果是分别第一轮B 赢,第二轮A 赢,第三轮B 赢,
第四轮打平,总的四轮结果是B 赢。
数据范围: 0<N<=100,0<=NA<=100, 0<=NB<=100。
代码:
#include<iostream>
using namespace std;
int check(int x, int y) {if ((x == 1 && y == 2) || (x == 2 && y == 3) || (x == 3 && y == 4) || (x == 4 && y == 1)) { //xreturn 1;}if ((x == 2 && y == 1) || (x == 3 && y == 2) || (x == 4 && y == 3) || (x == 1 && y == 4)) { //yreturn -1;}return 0;
}int n, na, nb;
int a[105], b[105];
int cnta, cntb;int main() {cin >> n >> na >> nb;for (int i = 0; i < na; i++) {cin >> a[i];}for (int i = 0; i < nb; i++) {cin >> b[i];}for (int i = 0; i < n; i++) {if (check(a[i % na], b[i % nb]) == 1) {cnta++;} else if (check(a[i % na], b[i % nb]) == -1) {cntb++;}}if (cnta > cntb) {cout << "A";} else if (cnta < cntb) {cout << "B";} else {cout << "D";}return 0;
}
相关文章:
出牌游戏(game)
安徽省2016年信息学竞赛试题(小学组) 题目描述 Description 小学生卡卡西最喜欢的电影是哈利波特,她一直幻想着自己可以进入神奇的魔法世界,今年暑假的一个傍晚,一只猫头鹰带着一封神秘的邀请函来到了她的家中,邀请函里是一张车…...
踩坑---uni-app中@input 事件不生效
在开发的时候遇到这么一种情况,我们希望input输入框的值是范围是0-100或者保留两位小数之类的,当你输入时处理后的结果却不生效,但是试过很多办法发现都实现不了,最后是按照以下方法解决的,问题原因是uni-app会延时,导致输入的结果…...
Linux命令(66)之tar
linux命令之tar 1.tar介绍 linux命令tar是压缩打包工具,可以将多个文件合并为一个文件,打包后的文件后缀为tar。与其它linux命令不同的是,tar命令的用户为linux的所有用户。 2.tar用法 tar [参数] [fliename.压缩打包后缀] [filename] ta…...
零拷贝详解
1、在没有DMA技术之前的I/O过程是这样的: CPU发出对应的指令给磁盘控制器,然后返回磁盘控制器收到指令后,于是就开始准备数据,会把数据放入到磁盘控制器的内部缓冲区,然后产生中断CPU收到中断信号后,停下手…...
新能源汽车电控系统
新能源汽车电控系统主要分为:三电系统电控系统、高压系统电控系统、低压系统电控系统 三电系统电控系统 包括整车控制器、电池管理系统、驱动电机控制器等。 整车控制器VCU 整车控制器作为电动汽车中央控制单元,是整个控制系统的核心,也是…...
Azure概念介绍
云计算定义 云计算是一种使用网络进行存储和处理数据的计算方式。它通过将数据和应用程序存储在云端服务器上,使用户能够通过互联网访问和使用这些资源,而无需依赖于本地硬件和软件。 发展历史 云计算的概念最早可以追溯到20世纪60年代的时候&#x…...
Zabbix监控MySQL数据库实战
zabbix监控mysql的方式 只是安装agent 启用模板监控 启用自定义脚本的模板监控 使用zabbix模版及结合shell脚本监控mysql 创建mysql的zabbix授权用户 mysql> grant all PRIVILEGES on *.* to zabbixlocalhost identified by zabbix; ###创建一个有权限的访问用户lqb密码设…...
代理模式(Java实现)
代理模式是常见的设计模式之一,顾名思义,代理模式就是代理对象具备真实对象的功能,并代替真实对象完成相应操作,并能够在操作执行的前后,对操作进行增强处理。(为真实对象提供代理,然后供其他对…...
炬芯科技发布全新第二代智能手表芯片,引领腕上新趋势!
2023年7月,炬芯科技宣布全新第二代智能手表芯片正式发布。自2021年底炬芯科技推出第一代的智能手表芯片开始便快速获得了市场广泛认可和品牌客户的普遍好评。随着技术的不断创新和突破,为了更加精准地满足市场多元化的变幻和用户日益增长的体验需求&…...
Linux学习之iptables规则基本演示
cat /etc/redhat-release看到操作系统是CentOS Linux release 7.6.1810,uname -r看到内核版本是3.10.0-957.el7.x86_64,iptables --version可以看到iptables版本是v1.4.21。 iptables的filter表 iptables -t filter 命令 规则链 规则 动作是iptables的…...
探索Python编程的技巧:多线程魔法、网络舞台、正则魔法阵与递归迷宫
一 多线程 1.1 进程和线程 进程: 就是一个程序,运行在系统之上,称这个程序为一个运行进程,并分配进程ID方便系统管理。线程:线程是归属于进程的,一个进程可以开启多个线程,执行不同的工作&…...
uniapp-微信小程序篇
uniapp-微信小程序篇 一、创建项目(以Vue3TS 项目为示例) 可以通过命令行的方式创建也可以通过HBuilderX进行创建(通过HBuilderX创建的项目建议选择最简单的模板),个人建议使用命令行方式。 (1) 命令行方式: npx degit dcloudio…...
使用pymupdf实现PDF内容搜索并显示功能
简介: 在日常工作和学习中,我们可能需要查找和提取PDF文件中的特定内容。本文将介绍如何使用Python编程语言和wxPython图形用户界面库来实现一个简单的PDF内容搜索工具。我们将使用PyMuPDF模块来处理PDF文件,并结合wxPython构建一个用户友好的…...
Dalsa线阵相机说明(Linea Color GigESeries 2k and 4K)
文章目录 一. Dalsa相机软件整体架构二. 相机编号说明以及软件要求三. 相机硬件参数三. 相机基本参数四. 软件参数设置列表1. Sensor Control Category2. I/O Control Category3. Counter and Timer Control Category4. Advanced Processing Control Category(1) 平场校正介绍(…...
图神经网络 day2 图的分类
图神经网络基础算法 1 GCN2 GraphSAGE2.1 采样:采样固定长度的邻居2.2 聚合2.3 GraphSAGE_minibatch2.4 GraphSAGE_embedding 3 GAT4. 图网络的分类4.1 递归图神经网络 RGNN4.2 图卷积神经网络GCN4.3 图注意力网络 GAT4.4 图自动编码 GAE4.5 图时空网络 GSTN4.6 图生…...
CentOS防火墙操作:开启端口、开启、关闭、配置
一、基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 : systemctl enable firewalld systemctl是…...
Chromium 如何在c++里面控制扩展加载
扩展安装 主要是通过UserMayLoad 函数控制,true允许加载,否则禁用 引自chromiun参考。【一般可以根据扩展ID禁用】 chrome\browser\extensions\standard_management_policy_provider.cc bool StandardManagementPolicyProvider::UserMayLoad( const Ext…...
分类预测 | MATLAB实现MTBO-CNN多输入分类预测
分类预测 | MATLAB实现MTBO-CNN多输入分类预测 目录 分类预测 | MATLAB实现MTBO-CNN多输入分类预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现MTBO-CNN多输入分类预测 2.代码说明:基于登山队优化算法(MTBO)、卷积神经…...
操作符和表达式求值
目录 1.运算符的优先级和结合性 1.1运算符的优先级 1.2结合性 2.操作符的使用最终带来的是一个表达式的值 2.1.隐式类型转换(整型提升) 2.1.1整形提升的例子 2.2算术转换 1.运算符的优先级和结合性 运算符是编程语言中的基本元素之一,主…...
Unity Spine帧事件
SpinePro中添加事件帧 首先 选中右上角的层级树 然后选择事件选项 最后在右下角看到 新建 点击它 新建一个事件 点击左上角的设置按钮 弹出编辑窗口 编辑窗口 在右上角 动画栏 可以切换对应的动画 点坐边的那个小灰点来切换 亮点代表当前动画 选中帧 添加事件 点击对应事件…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
