3.21总结

D - Shuffle'm Up

在扑克桌上,扑克玩家常常会玩一种叫做“洗筹码”的游戏。洗筹码是通过将两堆扑克筹码 S1 和 S2 进行交错堆叠来完成的,每堆筹码包含 C 个筹码。每堆筹码可能包含多种不同颜色的筹码。

实际的洗牌操作是通过将 S1 中的一枚筹码与 S2 中的一枚筹码交错堆叠来完成的,如下所示,当 C = 5 时:

得到的单一结果堆 S12 包含 2 * C 个筹码。 S12 的底部筹码是来自 S2 的底部筹码。在这枚筹码上面,是来自 S1 的底部筹码。交错堆叠过程继续,将来自 S2 底部第二枚筹码放在 S12 上,然后是来自 S1 底部第二枚筹码,以此类推,直到将来自 S1 的顶部筹码放在 S12 上。

洗牌操作后,S12 被分成两堆新的筹码,从 S12 底部取出 C 枚筹码形成新的 S1,从 S12 顶部取出 C 枚筹码形成新的 S2。然后可以重复洗牌操作形成新的 S12

对于这个问题,你需要编写一个程序来确定特定的结果堆 S12 是否可以通过多次洗牌操作形成。

输入

输入的第一行包含一个整数 N,(1 ≤ N ≤ 1000),表示接下来的数据集的数量。

每个数据集包括四行输入。数据集的第一行指定一个整数 C,(1 ≤ C ≤ 100),表示每堆初始筹码(S1 和 S2)中的筹码数量。每个数据集的第二行指定 S1 中每个 C 枚筹码的颜色,从底部筹码开始。每个数据集的第三行指定 S2 中每个 C 枚筹码的颜色,从底部筹码开始。颜色用单个大写字母表示(A 到 H)。筹码颜色之间没有空格或分隔符。每个数据集的第四行包含 2 * C 个大写字母(A 到 H),表示 S1 和 S2 洗牌零次或多次后所期望的结果颜色。底部筹码的颜色首先被指定。

输出

每个数据集的输出包括一行,显示数据集编号(从 1 到 N),一个空格,以及一个整数值,表示获得期望结果堆所需的最小洗牌次数。如果使用数据集中的输入无法获得期望结果,则显示值 -1 作为洗牌次数。

样例

InputcopyOutputcopy
2
4
AHAH
HAHA
HHAAAAHH
3
CDE
CDE
EEDDCC
1 2
2 -1


思路:利用一个map容器,根据题目意思讲s1,s2使用循环依次将筹码堆叠,每堆叠一次将次数+1,再对其将得到的字符串与题目需要的字符串进行对比,若相同即打印行数和次数然后跳出,若map容器中该字符串出现次数没有变化即打印”-1“后跳出,每次进行下一次循环前要将其分成s1和s2两部分.

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

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

相关文章

为什么高铁提前三分钟停止检票?

为什么高铁提前三分钟停止检票? 高铁,作为现代交通方式的代表,以其高速、便捷、舒适的特点受到了广大乘客的青睐。然而,在乘坐高铁的过程中,乘客们可能会遇到一个问题:为什么高铁会提前三分钟停止检票呢&a…

jupyter notebook设置代码提示方法

在命令行运行以下代码: pip install jupyter_contrib_nbextensionsjupyter contrib nbextension install --userpip install jupyter_nbextensions_configuratorjupyter nbextensions_configurator enable --user (有时安装第一行后会自动执行第二行&a…

【php基础】输出、变量、布尔类型、字符串

php基础补充 1. 输出2.和"的区别3.变量3.1变量的命名规则3.2 两个对象指向同一个值3.3 可变变量 4.变量的作用域5. 检测变量6. 布尔类型7.字符串定义与转义8.字符串常用函数9.常量 1. 输出 echo: 输出 print: 输出,输出成功返回1 print_r(): 输出数组 var_dum…

Vue 3中实现基于角色的权限认证实现思路

一、基于角色的权限认证主要步骤 在Vue 3中实现基于角色的权限认证通常涉及以下几个主要步骤: 定义角色和权限:首先需要在后端服务定义不同的角色和它们对应的权限。权限可以是对特定资源的访问权限,比如读取、写入、修改等。用户认证&#…

汽车价格的回归预测项目

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 问题描述 汽车价格预测是一个旨在预估二手车市场中汽车售价的问题。这个问题涉及到分析各种影响汽车价格的因素,如品牌、车龄、性能…

为什么大家都在“挺”鸿蒙?

试想某一天,应用软件能够在手机、电视、手表甚至汽车等设备上,实现无缝流转、纵享丝滑。 这不仅是畅想,而是鸿蒙正在布局的“遥遥领先”。 随着HarmonyOS NEXT鸿蒙星河版面向开发者开放申请、鸿蒙原生应用版图的基本成型,这个国…

多聆听,少评判

当朋友来找你倾诉、吐槽、诉苦,或是表达情绪的时候,你是怎样回应的? 许多人总有这样的习惯:每当听到朋友的倾诉,或者在网上看到别人诉苦时,第一反应往往是提建议:为什么你不试试这样做呢&#x…

ISIS骨干网连续性简述

默认情况下, 一、L1路由器是ISIS 普通区域内部路由器,只能与L1和L1-2路由器建立邻接关系,不能与L2路由器建立邻接关系。 二、L2路由器是骨干区域的路由器,L2路由器只能与其他 L2路由器同处一个区域,可与本区域的L2路由…

java JVM内存区域和对象创建,内存布局,访问

Java 虚拟机自动内存管理,不需要像C/C为每一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出。但把内存控制权交给 Java 虚拟机,一旦出现内存泄漏和溢出问题,如不了解虚拟机怎样使用内存,将很难…

软考89-上午题-【操作系统】-同步与互斥

一、进程间的通信 在多道程序环境的系统中存在多个可以并发执行的进程,故进程间必然存在资源共享(互斥)和相互合作(同步)的问题。进程通信是指各个进程交换信息的过程。 同步是合作进程间的直接制约问题,互…

LeetCode 21 / 100

目录 矩阵矩阵置零螺旋矩阵旋转图像搜索二维矩阵 II LeetCode 73. 矩阵置零 LeetCode 54. 螺旋矩阵 LeetCode 48. 旋转图像 LeetCode 240. 搜索二维矩阵 II 矩阵 矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为…

关于UDP协议

UDP协议是基于非连接的发送数据就是把数据包简单封装一下,然后从网卡发出去就可以,数据包之间没有状态上的联系,UDP处理方式简单,所以性能损耗非常少,对于CPU、内存资源的占用远小于TCP,但是对于网络传输过…

【OJ比赛日历】快周末了,不来一场比赛吗? #03.23-03.29 #16场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 2024-03-23(周六) #7场比赛2024-03-24…

74CMS人才系统 CVE-2024-2561 RCE复现

Fofa语法 app"骑士-74CMS" 复现步骤 前期准备 主页长这样 需要先会员注册,注册为招聘者 复现 将poc贴入修改登录的Cookie信息和Token 访问查看 微信公众号 扫一扫关注CatalyzeSec公众号 我们一起来从零开始学习网络安全 加入我们的星球,…

zabbix企业微信的告警媒介配置

简介: Zabbix企业微信告警媒介可用于向特定群组成员发送提醒通知。 前提条件: 完成Zabbix告警平台的搭建后,需将群机器人添加至告警提醒群中。 企业微信群聊——右上角三个点——添加群机器人 保存好产生的webhook地址(注意&…

2024.3.20 使用maven打包jar文件和保存到本地仓库

2024.3.20 使用maven打包jar文件和保存到本地仓库 使用maven可以很方便地打包jar文件和导入jar文件,同时还可以将该文件保存在本地仓库重复调用。 使用maven打包jar文件和保存到本地仓库 package打包文件。 install导入本地仓库。 使用maven导入jar文件 点击“…

CVE-2023-49442 jeecg-formdemocontroller JNDI代码执行漏洞分析

漏洞描述 JEECG(J2EE Code Generation) 是开源的代码生成平台,目前官方已停止维护。JEECG 4.0及之前版本中,由于 /api 接口鉴权时未过滤路径遍历,攻击者可构造包含 ../ 的url绕过鉴权。攻击者可构造恶意请求利用 jeecgFormDemoController.do…

P1596 [USACO10OCT] Lake Counting S(找连通块数量)

题目描述 Due to recent rains, water has pooled in various places in Farmer Johns field, which is represented by a rectangle of N x M (1 < N < 100; 1 < M < 100) squares. Each square contains either water (W) or dry land (.). Farmer John would l…

基于springboot的反诈宣传平台

技术&#xff1a;springbootmysqlvue 一、系统背景 反欺诈平台可以对公交信息进行集中管理&#xff0c;可以真正避免传统管理的缺陷。反欺诈平台是一款运用软件开发技术设计实现的应用系统&#xff0c;在信息处理上可以达到快速的目的&#xff0c;不管是针对数据添加&#xff…

Vue3 进阶

Vue 进阶 前言 Vue3 入门文章地址&#xff1a;Vue3 入门 任务一 创建 Vite Vue3 单页应用 Vue 3 是一个流行的 JavaScript 前端框架&#xff0c;用于构建单页应用程序&#xff08;SPA&#xff09;。 下面是一些创建 Vue 3 单页应用程序的方式&#xff1a; Vue CLI&#…