首頁 短篇

編程代碼之戰(zhàn)

第七章 被系統(tǒng)玩弄(三)

編程代碼之戰(zhàn) 程序小猿 2255 2020-02-29 08:43:24

  一刻鐘后,楊成左手端著杯豆?jié){,右手拿著幾根油條,嘴巴里還咬著半截油條走進(jìn)了網(wǎng)吧。

  而他那些哥們,都拿著教科書,正走在上課的路上。

  對于他來講,聽那些理論課實(shí)在是浪費(fèi)時(shí)間哪。

  動(dòng)手+實(shí)踐才是王道!

  至于考試,那不是考前復(fù)習(xí)幾天,看看老師劃的重點(diǎn)就能避免掛科的么?

  于是,在享用完早餐后,楊成再次戴上了VR頭盔,進(jìn)入代碼戰(zhàn)爭的世界。

  “叮!溫馨提示:尊敬的玩家,您本次挑戰(zhàn)的關(guān)卡可能遇到危險(xiǎn),請?jiān)谟龅嚼щy后及時(shí)地后退,我們將用3D全息投影地圖為您提供幫助”。

  “系統(tǒng)生成螺旋矩陣迷宮,加載中,請稍候...”

  下一分鐘,楊成出現(xiàn)在了一個(gè)寬敞的走道中。

  勉強(qiáng)適應(yīng)周圍昏暗的光線,楊成抬頭看了看四周,兩側(cè)都是光滑的墻壁,四周靜寂無聲,恐怕連一根大頭釘?shù)袈湓诘厣弦材苈牭角宕嗟囊豁憽?p>  同時(shí)出現(xiàn)在他眼前的,還有一幅3D地圖。

  地圖上明確地標(biāo)識了9個(gè)區(qū)域,而綠色的箭頭作為標(biāo)識他自身的位置,出現(xiàn)在1區(qū)。

  這九個(gè)區(qū)域構(gòu)成了一個(gè)基礎(chǔ)型的九宮格,或者說3X3矩陣。

  “1,2,3”

  “4,5,6”

  “7,8,9”

  擺在楊成眼前的有3條道路,可以選擇前往2區(qū),5區(qū)或者4區(qū)。

  “先去4區(qū)看看吧”。

  楊成選擇了最下方的道路,一路大步邁進(jìn)。

  空氣中彌漫著陰冷的氣息,楊成感覺身體升起一股寒意,一種不祥的預(yù)感突然襲來。

  他左顧右盼,也沒發(fā)現(xiàn)啥危險(xiǎn)的東西啊,于是他繼續(xù)大步前進(jìn)。

  “咔嚓”,一種機(jī)械齒輪轉(zhuǎn)動(dòng)的聲音傳來,吸引了楊成的注意力。

  “嘩啦”,兩側(cè)的石壁不知啥時(shí)候扯開了兩道口子。

  “唰唰!”

  兩個(gè)砂缽大的鐵拳從口子里鉆出來,一左一右地朝楊成攻過來。

  “唉呀!”

  楊成一聲驚呼,慌亂之中匆忙后跳,這廝身體素質(zhì)還是不錯(cuò)的。

  “嘭!”

  兩個(gè)鐵拳狠狠地撞擊在一起,發(fā)出沉悶的一響。

  楊成拍拍胸脯,心有余悸地喘了喘氣。

  “這真是拿生命在開玩笑啊”。

  他不敢再試,只好原路返回,退回了1區(qū)。

  端坐在冰冷的地面上,他開始思索解題方法。

  剛才系統(tǒng)好像有提到關(guān)鍵的幾個(gè)字——“螺旋矩陣”。

  這是個(gè)嘛玩意兒呢?

  這是一種算法或者說是矩陣中的行進(jìn)策略。

  楊成在迷宮中有上下左右四種行走方式,但只有依據(jù)“螺旋式”策略才有可能走到出口,它具體體現(xiàn)在:

  先向右走,如果遇到邊界,或者右邊的區(qū)域已經(jīng)走過,那么就向下走,否則繼續(xù)向右走。

  當(dāng)向下走,如果遇到邊界,或者下邊的區(qū)域已經(jīng)走過,那么就向左走,否則繼續(xù)向下走。

  當(dāng)向左走,如果遇到邊界,或者左邊的區(qū)域已經(jīng)走過,那么就向上走,否則繼續(xù)向左走。

  當(dāng)向上走,如果遇到邊界,或者上邊的區(qū)域已經(jīng)走過,那么就向右走,否則繼續(xù)向上走。

  依照這種策略,走過的區(qū)域依次是“1,2,3,6,9,8,7,4,5”,最后到達(dá)終點(diǎn)站,正中間的5區(qū)。

  不過,這個(gè)問題并不局限在九宮格或者說3X3型矩陣,也有可能是4X4,5X5甚至是NXN的矩陣。這就決定了不能硬編碼,必須求出通用的解法。

  “終于寫完咯”。

  楊成敲完最后一行代碼,擦了把汗。

  “系統(tǒng)快告訴我,做的咋樣?”

  “叮!恭喜您完成了螺旋矩陣的任務(wù)”。

  系統(tǒng)興奮地說道。

  “當(dāng)前積分35分,擊敗了全球21%的玩家,請您再接再厲!”

  “告訴俺,下一站去哪里?”

  “去非洲!”

  系統(tǒng)肯定地說道。

  ......

  “大家好,這里是Discovery探索頻道,我們這一期的節(jié)目來到了神奇的非洲,請注意這并不是《狂野周末》欄目,本期節(jié)目我們的目標(biāo)是舉世聞名的埃及金字塔”。

  一架小型直升機(jī)搭載著節(jié)目制作組,從開羅市區(qū)前往郊區(qū)。

  “伙計(jì),這兒的風(fēng)景真不錯(cuò)”。

  楊成戴著一副黑色邊框的太陽眼鏡,好奇地看著正前方隱約可見的金字塔群。

  他目前的身份是以研究金字塔而聞名的考古學(xué)家,負(fù)責(zé)為廣大的聽眾講解。

  “大家好,我是考古學(xué)家Alex.Yang,今天我們來到埃及金字塔,既不是為了進(jìn)去一探究竟,也不是解答那些未解之謎,只是想談?wù)劷鹱炙臄?shù)學(xué)問題”。

  “直升機(jī)請盤旋到金字塔正上方”。

  楊成發(fā)出了指示。

  “攝像機(jī)鏡頭請對準(zhǔn)正下方”。

  “好了,現(xiàn)在我們正從上而下俯瞰整個(gè)金字塔”。

  “大家說說,你們能看到多少個(gè)石塊?”

  “我聽駕駛員說是36個(gè),不過我得告訴他一個(gè)不幸的消息,我們能看到的石塊數(shù)目是49”。

  楊成拿著話筒,繼續(xù)說道。

  “因?yàn)榻鹱炙幕钦叫蔚?,而我們正處于塔尖的正上方,所以能看到的石塊數(shù)是正方形邊長乘以它自身,7X7等于49”。

  “直升機(jī)請盤旋到金字塔的一側(cè)”。

  “金字塔有四個(gè)側(cè)面,每個(gè)側(cè)面都是完全相等的三角形,它們共同構(gòu)成了一個(gè)四錐體”。

  “那么現(xiàn)在呢?你們能看到多少個(gè)石塊?”

  “我聽駕駛員說是16個(gè),這次恭喜他,回答正確!”

  “塔尖我們能看到1個(gè)石塊,第二層我們可以看到3個(gè)石塊,第三層可以看到5個(gè),最底層是7,這一組數(shù)恰好構(gòu)成了公差為2的等差數(shù)列”。

  “我們用首項(xiàng)1,加上末項(xiàng)7,乘以項(xiàng)數(shù)4,再除以2,便能得到16的結(jié)果”。

  “好了,剛才我們談到了2個(gè)關(guān)于金字塔的數(shù)字問題,下面進(jìn)入觀眾提問環(huán)節(jié)”。

  “馬上進(jìn)行衛(wèi)星連線”。

  “嘀...嘀...”

  “你好,我來自賓夕法尼亞州,正在看節(jié)目,我想請教您,這個(gè)金字塔一共由多少石塊組成?”

  “很棒的問題,感謝這位熱心觀眾”。

  楊成頓了頓,清了清嗓子。

  “事實(shí)上,我可以很明確地回答您,是84塊”。

  “金字塔最底層有7X7等于49塊石頭,倒數(shù)第二層為5X5等于25塊,倒數(shù)第三層為3X3等于9塊,頂層只有1塊,相加就是84塊”。

  楊成有條不紊地回答道。

  “謝謝!恭喜您通過了金字塔問題的求解”。

  那現(xiàn)場觀眾的聲音搖身一變,成了系統(tǒng)音。

  “當(dāng)前積分37分,擊敗了全球22%的玩家,請您再接再厲!”

  “哇!”

  楊成流露出難以置信的表情。

  “這就通過了你們的考驗(yàn)?”

  “難道不用寫寫代碼,做做測試什么的嗎?”

  “喜歡寫你就寫唄,反正題目是這樣要求的呀”。

  系統(tǒng)又恢復(fù)了小蘿莉的聲音。

  “有時(shí)我真懷疑你是不是個(gè)小萌妹子在逗我玩喲”。

  楊成撓了撓頭。

  “你猜”。

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁
返回書頁
指南