码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 华为OJ 二阶魔方

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

标签:华为oj   二阶魔方   swap   

【题目描述】

二阶魔方

魔方可以对它的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 二阶魔方

标签:华为oj   二阶魔方   swap   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!