魔方可以对它的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]);}
}

蓝桥杯 二阶魔方旋转 暴力法相关推荐

  1. 蓝桥杯---二阶魔方旋转

    魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴反向:橙 z轴正向: ...

  2. 蓝桥杯 二阶魔方旋转 模拟

    魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴反向:橙 z轴正向: ...

  3. 蓝桥杯:魔方旋转问题【高职组】

    题目来源 比较容易的一题,但是要心细(写了好久) 按照题目的要求展开二阶魔方: 输入x时,顺时针移动带框的部分 输入y和z同样移动相应部分. 有一点需注意: e.g.当输入x时,绿色这一面需要顺时针翻 ...

  4. 蓝桥杯之二阶魔方旋转

    /* 二阶魔方旋转 魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴 ...

  5. 二阶魔方旋转 魔方可以对它的6个面自由旋转。 我们来操作一个2阶魔方(如图1所示):

    /* 二阶魔方旋转 魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴 ...

  6. 【暴力模拟】二阶魔方旋转

    魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴反向:橙 z轴正向: ...

  7. Java实现二阶魔方旋转

    魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴反向:橙 z轴正向: ...

  8. [蓝桥杯2019初赛]旋转-找规律

    代码如下: #include <iostream> using namespace std; const int N = 110; int a[N][N];int main() {int ...

  9. 第八届蓝桥杯 拉马车JAVA暴解

    假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的随机的纸牌序列如下: A方:[K, 8, X, K, A, 2, A, 9, 5, A] B方:[2, 7, K, 5, J, 5, Q, 6, ...

最新文章

  1. PHP回收机制性能方面考虑的因素
  2. 【SVM最后一课】详解烧脑的Support Vector Regression
  3. apache cxf_Wildfly,Apache CXF和@SchemaValidation
  4. 信息学奥赛一本通(1205:汉诺塔问题)
  5. android获取各种系统路径的方法
  6. Python版归并排序算法(附Python程序__name__属性用法演示视频)
  7. java怎么拦截数据库查询结果_关于mybatis拦截器,有谁知道怎么对结果集进行拦截,将指定字段查询结果进行格式化...
  8. linux startx无法启动
  9. 解决dev控件版本过期问题
  10. java language specification Java SE 8 Edition 中文版(第一章)
  11. 身份证阅读器读卡器React网页方法实现身份证的读取
  12. winform利用html开发,Winform开发框架之HTML编辑控件介绍
  13. matlab卷积动画实现
  14. 玩转ECharts制作图表之柱状图
  15. 日语常用会话1000句
  16. 脱光解决方案——一枚大佬一枚白骨精
  17. RadioGroup 全部取消选中 和选中某个按钮
  18. 太极图形课-01-Taichi编程
  19. android列表倒计时,RecyclerView实现列表倒计时
  20. 万能数据库查询分析器使用技巧之(十三)

热门文章

  1. 真无线耳机也能超长续航,还有低延迟游戏模式加持,南卡N2s体验
  2. 企业做网站建设有哪些好处
  3. Python ·保险理赔分析:数据分析
  4. 洪荒制作量子计算机 小说,小说穿越洪荒我居然成了无敌大表哥全章节阅读
  5. librosa能量_librosa中mfcc函数的一点小问题
  6. Openstack(T版)私有云平台<环境部署>及安装<keystone组件>
  7. IntelliJ IDEA 之 配置JDK 的 4种方式
  8. 浅谈什么是保险生命表
  9. 2022跨境电商物流行业发展趋势报告
  10. DAGA: Data Augmentation with a Generation Approach for Low-resource Tagging Tasks 论文解读