2555. 解谜游戏
题目链接
2555. 解谜游戏
小明正在玩一款解谜游戏。
谜题由 根塑料棒组成,其中黄色塑料棒 根,红色 根,绿色 根 (后面用 表示黄色、 表示红色、 表示绿色)。
初始时这些塑料棒排成三圈,如上图所示,外圈 根,中圈 根,内圈 根。
小明可以进行三种操作:
将三圈塑料棒都顺时针旋转一个单位。例如当前外圈从 点位置开始顺时针依次是 YRYGRYGRGGGG
,中圈是 RGRGGRRY
,内圈是 GGGR
。那么顺时针旋转一次之后,外圈、中圈、内圈依次变为:GYRYGRYGRGGG
、YRGRGGRR
和 RGGG
。
将三圈塑料棒都逆时针旋转一个单位。例如当前外圈从 点位置开始顺时针依次是 YRYGRYGRGGGG
,中圈是 RGRGGRRY
,内圈是 GGGR
。那么逆时针旋转一次之后,外圈、中圈、内圈依次变为:RYGRYGRGGGGY
、GRGGRRYR
和 GGRG
。
将三圈 点位置的塑料棒做一个轮换。具体来说:外圈 点塑料棒移动到内圈 点,内圈 点移动到中圈 点,中圈 点移动到外圈 点。例如当前外圈从 点位置开始顺时针依次是 YRYGRYGRGGGG
,中圈是 RGRGGRRY
,内圈是 GGGR
。那么轮换一次之后,外圈、中圈、内圈依次变为:RRYGRYGRGGGG
、GGRGGRRY
和 YGGR
。
小明的目标是把所有绿色移动到外圈、所有红色移动中圈、所有黄色移动到内圈。
给定初始状态,请你判断小明是否可以达成目标?
输入格式
第一行包含一个整数 ,代表询问的组数。
每组询问包含 行:
第一行包含 个大写字母,代表外圈从 点位置开始顺时针每个塑料棒的颜色。
第二行包含 个大写字母,代表中圈从 点位置开始顺时针每个塑料棒的颜色。
第三行包含 个大写字母,代表内圈从 点位置开始顺时针每个塑料棒的颜色。
输出格式
对于每组询问,输出一行 YES
或者 NO
,代表小明是否可以达成目标。
数据范围
输入样例:
输出样例:
解题思路
规律
为内、中和外圈分别编号为 ,则可以发现:可以整体上分为如下 快,且每一块之间互不影响:
现在目标是使每一块外圈有 个 ,中圈有 个 ,内圈有 个 ,因为每一块对应的影响的外、中和内圈的位置分别有 个
又由三圈之间的轮换关系,以第一块为例,可将三圈中的对应位置换成如下 种位置:
一个比较粗略的想法是:考虑外圈,外圈包含了所有的位置,可以先将 个 全部移到外圈,然后在不影响外圈的基础上进一步操作,此时可以选择的操作有:
此时把仅剩的 个 移到内圈即可
- 时间复杂度:
代码
__EOF__

本文链接:https://www.cnblogs.com/zyyun/p/16105828.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!