蓝桥杯 二阶魔方旋转 暴力法
魔方可以对它的6个面自由旋转。
我们来操作一个2阶魔方(如图1所示):
为了描述方便,我们为它建立了坐标系。
各个面的初始状态如下:
x轴正向:绿
x轴反向:蓝
y轴正向:红
y轴反向:橙
z轴正向:白
z轴反向:黄
假设我们规定,只能对该魔方进行3种操作。分别标记为:
x 表示在x轴正向做顺时针旋转
y 表示在y轴正向做顺时针旋转
z 表示在z轴正向做顺时针旋转
xyz 则表示顺序执行x,y,z 3个操作
题目的要求是:
从标准输入获得一个串,表示操作序列。
程序输出:距离我们最近的那个小方块的3个面的颜色。
顺序是:x面,y面,z面。
例如:在初始状态,应该输出:
绿红白
初始状态下,如果用户输入:
x
则应该输出:
绿白橙
初始状态下,如果用户输入:
zyx
则应该输出:
红白绿
我们可以将每次旋转的变化直接用暴力法写出来
package blueBridge;public class magicCubeRotation {String [] cube=new String[24];public magicCubeRotation(){ for(int i=0;i<24;i++){if(i/4==0)cube[i]="白";if((i/4)==1)cube[i]="黄";if((i/4)==2)cube[i]="绿";if((i/4)==3)cube[i]="蓝";if((i/4)==4)cube[i]="红";if((i/4)==5)cube[i]="橙";}}public void swap(String i,String j){String temp=i;i=j;j=temp;}public void x(){String temp1=cube[3];String temp2=cube[2];cube[3]=cube[20];cube[2]=cube[22];cube[20]=cube[6];cube[22]=cube[7];cube[6]=cube[18];cube[7]=cube[16];cube[18]=temp1;cube[16]=temp2;String temp=cube[8];cube[8]=cube[10];cube[10]=cube[11];cube[11]=cube[9];cube[9]=temp;}public void y(){String temp1=cube[1];String temp2=cube[3];cube[1]=cube[9];cube[3]=cube[11];cube[9]=cube[5];cube[11]=cube[7];cube[5]=cube[13];cube[7]=cube[15];cube[15]=temp1;cube[13]=temp2;String temp=cube[16];cube[16]=cube[18];cube[18]=cube[19];cube[19]=cube[17];cube[17]=temp;}public void z(){String temp=cube[0];cube[0]=cube[2];cube[2]=cube[3];cube[3]=cube[1];cube[1]=temp;String temp1=cube[8];String temp2=cube[9];cube[8]=cube[16];cube[9]=cube[17];cube[16]=cube[13];cube[17]=cube[12];cube[13]=cube[21];cube[12]=cube[20];cube[21]=temp1;cube[20]=temp2;}public void print(){System.out.print(cube[9]+cube[16]+cube[3]);}
}
蓝桥杯 二阶魔方旋转 暴力法相关推荐
- 蓝桥杯---二阶魔方旋转
魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴反向:橙 z轴正向: ...
- 蓝桥杯 二阶魔方旋转 模拟
魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴反向:橙 z轴正向: ...
- 蓝桥杯:魔方旋转问题【高职组】
题目来源 比较容易的一题,但是要心细(写了好久) 按照题目的要求展开二阶魔方: 输入x时,顺时针移动带框的部分 输入y和z同样移动相应部分. 有一点需注意: e.g.当输入x时,绿色这一面需要顺时针翻 ...
- 蓝桥杯之二阶魔方旋转
/* 二阶魔方旋转 魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴 ...
- 二阶魔方旋转 魔方可以对它的6个面自由旋转。 我们来操作一个2阶魔方(如图1所示):
/* 二阶魔方旋转 魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴 ...
- 【暴力模拟】二阶魔方旋转
魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴反向:橙 z轴正向: ...
- Java实现二阶魔方旋转
魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴反向:橙 z轴正向: ...
- [蓝桥杯2019初赛]旋转-找规律
代码如下: #include <iostream> using namespace std; const int N = 110; int a[N][N];int main() {int ...
- 第八届蓝桥杯 拉马车JAVA暴解
假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的随机的纸牌序列如下: A方:[K, 8, X, K, A, 2, A, 9, 5, A] B方:[2, 7, K, 5, J, 5, Q, 6, ...
最新文章
- PHP回收机制性能方面考虑的因素
- 【SVM最后一课】详解烧脑的Support Vector Regression
- apache cxf_Wildfly,Apache CXF和@SchemaValidation
- 信息学奥赛一本通(1205:汉诺塔问题)
- android获取各种系统路径的方法
- Python版归并排序算法(附Python程序__name__属性用法演示视频)
- java怎么拦截数据库查询结果_关于mybatis拦截器,有谁知道怎么对结果集进行拦截,将指定字段查询结果进行格式化...
- linux startx无法启动
- 解决dev控件版本过期问题
- java language specification Java SE 8 Edition 中文版(第一章)
- 身份证阅读器读卡器React网页方法实现身份证的读取
- winform利用html开发,Winform开发框架之HTML编辑控件介绍
- matlab卷积动画实现
- 玩转ECharts制作图表之柱状图
- 日语常用会话1000句
- 脱光解决方案——一枚大佬一枚白骨精
- RadioGroup 全部取消选中 和选中某个按钮
- 太极图形课-01-Taichi编程
- android列表倒计时,RecyclerView实现列表倒计时
- 万能数据库查询分析器使用技巧之(十三)
热门文章
- 真无线耳机也能超长续航,还有低延迟游戏模式加持,南卡N2s体验
- 企业做网站建设有哪些好处
- Python ·保险理赔分析:数据分析
- 洪荒制作量子计算机 小说,小说穿越洪荒我居然成了无敌大表哥全章节阅读
- librosa能量_librosa中mfcc函数的一点小问题
- Openstack(T版)私有云平台<环境部署>及安装<keystone组件>
- IntelliJ IDEA 之 配置JDK 的 4种方式
- 浅谈什么是保险生命表
- 2022跨境电商物流行业发展趋势报告
- DAGA: Data Augmentation with a Generation Approach for Low-resource Tagging Tasks 论文解读