首页 > 编程语言 > 详细

C++ 华为OJ 二阶魔方

时间:2015-07-09 22:44:07      阅读:482      评论:0      收藏:0      [点我收藏+]

【题目描述】

二阶魔方

魔方可以对它的6个面自由旋转。我们来操作一个2阶魔方(如图1所示)为了描述方便,我们为它建立了坐标系。


技术分享


各个面的初始状态如下:技术分享

x轴正向:绿

x轴反向:蓝

y轴正向:红

y轴反向:橙

z轴正向:白

z轴反向:黄

假设我们规定,只能对该魔方进行3种操作。分别标记为:

x 表示在x轴正向做顺时针旋转

y 表示在y轴正向做顺时针旋转

z 表示在z轴正向做顺时针旋转

基本旋转后的效果如图2,3,4所示。

技术分享技术分享技术分享

xyz 则表示顺序执行x,y,z 3个操作

程序输入:

从标准输入获得一个串,表示操作序列。

程序输出:距离我们最近的那个小方块的3个面的颜色。

顺序是:x面,y面,z面。

例如:在初始状态,应该输出:

绿红白

初始状态下,如果用户输入:

x

则应该输出:

绿白橙


初始状态下,如果用户输入:

zyx

则应该输出:

红白绿

【实现思想】

自定义函数:switch..case(X Y Z) ,即可实现字符串swap。


版权声明:本文为博主原创文章,未经博主允许不得转载。

C++ 华为OJ 二阶魔方

原文:http://blog.csdn.net/u013630349/article/details/46820921

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!