[蓝桥杯 2019 国 B] 解谜游戏

[蓝桥杯 2019 国 B] 解谜游戏

题目背景

题目描述

小明正在玩一款解谜游戏。谜题由 24 24 24 根塑料棒组成,其中黄色塑料棒 4 4 4 根,红色 8 8 8 根,绿色 12 12 12 根 (后面用 Y 表示黄色、R 表示红色、G 表示绿色)。初始时这些塑料棒排成三圈,如上图所示,外圈 12 12 12 根,中圈 8 8 8 根,内圈 4 4 4 根。

小明可以进行三种操作:

  1. 将三圈塑料棒都顺时针旋转一个单位。例如当前外圈从 0 0 0 点位置开始顺时针依次是 YRYGRYGRGGGG,中圈是 RGRGGRRY,内圈是 GGGR。那么顺时针旋转一次之后,外圈、中圈、内圈依次变为:GYRYGRYGRGGGYRGRGGRRRGGG
  2. 将三圈塑料棒都逆时针旋转一个单位。例如当前外圈从 0 0 0 点位置开始顺时针依次是 YRYGRYGRGGGG,中圈是 RGRGGRRY,内圈是 GGGR。那么逆时针旋转一次之后,外圈、中圈、内圈依次变为:RYGRYGRGGGGYGRGGRRYRGGRG
  3. 将三圈 0 0 0 点位置的塑料棒做一个轮换。具体来说:外圈 0 0 0 点塑料棒移动到内圈 0 0 0 点,内圈 0 0 0 点移动到中圈 0 0 0 点,中圈 0 0 0 点移动到外圈 0 0 0 点。例如当前外圈从 0 0 0 点位置开始顺时针依次是 YRYGRYGRGGGG,中圈是 RGRGGRRY,内圈是 GGGR。那么轮换一次之后,外圈、中圈、内圈依次变为:RRYGRYGRGGGGGGRGGRRYYGGR

小明的目标是把所有绿色移动到外圈、所有红色移动中圈、所有黄色移动到内圈。给定初始状态,请你判断小明是否可以达成目标?

输入格式

第一行包含一个整数 T T T,代表询问的组数。 ( 1 ≤ T ≤ 100 ) (1 \le T \le 100) (1T100)

每组询问包含 3 3 3 行:

第一行包含 12 12 12 个大写字母,代表外圈从 0 0 0 点位置开始顺时针每个塑料棒的颜色。

第二行包含 8 8 8 个大写字母,代表中圈从 0 0 0 点位置开始顺时针每个塑料棒的颜色。

第三行包含 4 4 4 个大写字母,代表内圈从 0 0 0 点位置开始顺时针每个塑料棒的颜色。

输出格式

对于每组询问,输出一行 YES 或者 NO,代表小明是否可以达成目标。

样例 #1

样例输入 #1

2
GYGGGGGGGGGG
RGRRRRRR
YRYY
YGGGRRRRGGGY
YGGGRRRR
YGGG

样例输出 #1

YES
NO

提示

蓝桥杯 2019 年国赛 B 组 H 题。
在这里插入图片描述
确保这六根棍有三根绿色,两根红色,一根黄色

#include <iostream>
using namespace std;
#include <bits/stdc++.h>

int t;
string a,b,c;
int cnt[110];
int main()
{
	cin>>t;
	while(t--)
	{
		cin>>a>>b>>c;
		bool flag=1;//有两组 如果定义在外面,flag的值会在第一轮被赋予0 然后一直不会改变
	   for(int i=0;i<4;i++)//通过遍历内部的小圈
	   	{
	   		
	   		memset(cnt,0,sizeof(cnt));//初始化桶
		++cnt[a[i]],++cnt[b[i]],++cnt[c[i]];
		++cnt[b[i+4]],++cnt[a[i+4]],++cnt[a[i+8]];
		if(cnt['G']!=3||cnt['R']!=2||cnt['Y']!=1)//如果这6个固定的圈不符合要求 则一定过不了
		{
			flag=0;
		  break;
		}
		
	  }
		
		
	cout<<(flag?"YES":"NO")<<'\n';//判断

	}	


	return 0;
}

相关推荐

  1. P8655 [ 2017 B] 发现环

    2024-04-10 13:46:05       52 阅读
  2. P8736 [ 2020 B] 游园安排

    2024-04-10 13:46:05       50 阅读
  3. [ 2019B] 等差数列

    2024-04-10 13:46:05       45 阅读
  4. 洛谷 P8630 [ 2015 B] 密文搜索

    2024-04-10 13:46:05       43 阅读
  5. ---三游戏

    2024-04-10 13:46:05       50 阅读
  6. 【[ 2013B] 带分数】

    2024-04-10 13:46:05       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 13:46:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 13:46:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 13:46:05       82 阅读
  4. Python语言-面向对象

    2024-04-10 13:46:05       91 阅读

热门阅读

  1. 牛客错题整理——C++

    2024-04-10 13:46:05       32 阅读
  2. 正则表达式

    2024-04-10 13:46:05       38 阅读
  3. 正则表达式简介

    2024-04-10 13:46:05       34 阅读
  4. Element Plus的deep穿透

    2024-04-10 13:46:05       38 阅读
  5. 计算机的各种转换

    2024-04-10 13:46:05       22 阅读
  6. SpringBoot中ApplicationEvent的用法

    2024-04-10 13:46:05       38 阅读
  7. 要有大不了被裁了的思想

    2024-04-10 13:46:05       38 阅读