• 微软原版系统

  • 一键重装系统

  • 纯净系统

  • 在线技术客服

魔法猪系统重装大师 一键在线制作启动 U 盘 PE 系统 用一键重装的魔法拯救失去灵魂的系统
当前位置:首页 > 教程 > 电脑教程

网易的算法高手GG写给MM的魔方

时间:2015年04月02日 15:42:28    来源:魔法猪系统重装大师官网    人气:12221

 题目描述:
据说,网易有自主开发的游戏引擎,参与开发的个个都是算法高手,喜欢研究各种好玩的东西。
有一天,有个小mm得到了一个魔方,不过魔方不是常规的3*3*3的!
而是大小是2*2*3的一个长方体!她实在搞不定这种异形魔方,
于是只好求助于引擎部某GG。那GG看到后说,这太简单了,等我一会儿。
没多久,程序写好后,一下子就把小mm需要的公式算出来了,
那个mm惊叹不已,并用这些公式迅速把魔方还原好了。让小mm佩服的不得了。
你的算法能力怎么样呢?你也能办到吗?

输入:
魔方摆放例图(并且假设颜色分布为上黄下白左蓝右绿前红后橙):
           2      3
        1      0

           10     11
        9      8

           6      7
        5      4

请你编写函数:
int solve(const int m[], const int s[], char ans[])
参数意义如下:
m[] : 例图中的是位置编号,也是复原后的方块编号;
   m[a] = b 表示在位置a的地方,放了一个编号为b的方块
   m这个数组的长度为12
s[] : 用来表示每一块主色的朝向,黄白为主色,没有前两色时以红橙为主色;
   主色面向上为0,向下为1,左为2,右为3,前为4,后为5
   如附图sample,U面上各块,主色都面向上,朝向值为0
   中层RF块,橙色面朝右,值为3。s这个数组的长度为12


输出:
ans[]:返回复原(只需要各面同色)的最少的操作步骤,写法类似魔方公式:
   UDLRFB分别表示相应面,单独写一个字母表示这个面顺时针旋转90度,
   R2表示R面旋转180度,U'表示U面逆时针旋转90度。
   U的旋转方向是0->1->2->3,U'是0->3->2->1
   D的旋转方向是4->7->6->5,D'是4->5->6->7
   R2只算一步,步数以这6个字母的出现次数为准,之间不要用空格分隔
函数返回值:返回还原的最少步数,要与ans里的步数一致。

样例输入:
m= 3 2 4 5 0 1 7 6 9 11 10 8   s= 0 0 0 0 1 1 1 1 4 4 5 5

样例输出:
4 DUF2R2

其它信息:
输出的如4 DUF2R2,4表示返回值,返回值的答案唯一
DUF2R2为ans数组中的内容,ans中的内容不唯一,只要是任意一解即可


样例中的实际形状见题目数据保证出的数据是合理的,不会出现还原不了的情况
提交的代码不要出现main函数

另:如果你是色盲或者色弱,看不清楚图片上的颜色,
也请加初级一群19472277(已经在中级群或者主群的就免加了),会给你更详细的解释


难度:Hard

网易,的,算法,高手,写给,魔方,题目,描述,据说,
栏目:电脑教程 阅读:1000 2023/12/27
Win7教程 更多>>
U盘教程 更多>>
Win10教程 更多>>
魔法猪学院 更多>>

Copyright © 2015-2023 魔法猪 魔法猪系统重装大师

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件。

在线客服 查看微信 返回顶部