西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)VC|VC++ → 網(wǎng)易的算法高手GG寫給MM的魔方

網(wǎng)易的算法高手GG寫給MM的魔方

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時(shí)間:2010/10/4 0:46:44字體大。A-A+

作者:佚名點(diǎn)擊:233次評論:0次標(biāo)簽: 網(wǎng)易 魔方

  • 類型:動作射擊大小:0KB語言:中文 評分:10.0
  • 標(biāo)簽:
立即下載

 題目描述:
據(jù)說,網(wǎng)易有自主開發(fā)的游戲引擎,參與開發(fā)的個(gè)個(gè)都是算法高手,喜歡研究各種好玩的東西。
有一天,有個(gè)小mm得到了一個(gè)魔方,不過魔方不是常規(guī)的3*3*3的!
而是大小是2*2*3的一個(gè)長方體!她實(shí)在搞不定這種異形魔方,
于是只好求助于引擎部某GG。那GG看到后說,這太簡單了,等我一會兒。
沒多久,程序?qū)懞煤,一下子就把小mm需要的公式算出來了,
那個(gè)mm驚嘆不已,并用這些公式迅速把魔方還原好了。讓小mm佩服的不得了。
你的算法能力怎么樣呢?你也能辦到嗎?

輸入:
魔方擺放例圖(并且假設(shè)顏色分布為上黃下白左藍(lán)右綠前紅后橙):
           2      3
        1      0

           10     11
        9      8

           6      7
        5      4

請你編寫函數(shù):
int solve(const int m[], const int s[], char ans[])
參數(shù)意義如下:
m[] : 例圖中的是位置編號,也是復(fù)原后的方塊編號;
   m[a] = b 表示在位置a的地方,放了一個(gè)編號為b的方塊
   m這個(gè)數(shù)組的長度為12
s[] : 用來表示每一塊主色的朝向,黃白為主色,沒有前兩色時(shí)以紅橙為主色;
   主色面向上為0,向下為1,左為2,右為3,前為4,后為5
   如附圖sample,U面上各塊,主色都面向上,朝向值為0
   中層RF塊,橙色面朝右,值為3。s這個(gè)數(shù)組的長度為12


輸出:
ans[]:返回復(fù)原(只需要各面同色)的最少的操作步驟,寫法類似魔方公式:
   UDLRFB分別表示相應(yīng)面,單獨(dú)寫一個(gè)字母表示這個(gè)面順時(shí)針旋轉(zhuǎn)90度,
   R2表示R面旋轉(zhuǎn)180度,U'表示U面逆時(shí)針旋轉(zhuǎn)90度。
   U的旋轉(zhuǎn)方向是0->1->2->3,U'是0->3->2->1
   D的旋轉(zhuǎn)方向是4->7->6->5,D'是4->5->6->7
   R2只算一步,步數(shù)以這6個(gè)字母的出現(xiàn)次數(shù)為準(zhǔn),之間不要用空格分隔
函數(shù)返回值:返回還原的最少步數(shù),要與ans里的步數(shù)一致。

樣例輸入:
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數(shù)組中的內(nèi)容,ans中的內(nèi)容不唯一,只要是任意一解即可


樣例中的實(shí)際形狀見題目數(shù)據(jù)保證出的數(shù)據(jù)是合理的,不會出現(xiàn)還原不了的情況
提交的代碼不要出現(xiàn)main函數(shù)

另:如果你是色盲或者色弱,看不清楚圖片上的顏色,
也請加初級一群19472277(已經(jīng)在中級群或者主群的就免加了),會給你更詳細(xì)的解釋


難度:Hard

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)