第三章 約瑟夫環(huán)
一大清早,,天剛蒙蒙亮。
楊成洗漱完畢,,匆忙吃了一點早餐,,便來到了網(wǎng)吧。
他心中隱隱地對下一個關(guān)卡有了些期待,。
作為一名準(zhǔn)程序員,,新鮮事物對于他總是很有吸引力的。
反倒是那些室友,,楊成感覺更像是20世紀(jì)的人,。
居然還玩橫板格斗單機(jī)游戲...
能不能稍微有點追求啊,!
楊成很快戴上頭盔,,進(jìn)入了角色。
“叮,!”
熟悉的系統(tǒng)音響起來,。
“親愛的挑戰(zhàn)者,準(zhǔn)備前往下一個關(guān)卡了嘛,?”
“OK,,一切就緒”。
楊成打出個勝利的手勢,。
“祝你好運,!”
系統(tǒng)發(fā)出貼心的祝福,,然后楊成的意識進(jìn)入到了另外一個空間。
喬塔帕特小鎮(zhèn)的夜晚并不寧靜,,此時月黑風(fēng)高,。
一群全副武裝的士兵闖入了這里,他們戴著狼皮頭盔,,身穿堅韌的鎧甲,,手里拿著盾牌與標(biāo)槍,身上還配著鋒利的短劍,。
這一切表面了他們的身份——殘暴無比的羅馬人,。
“抓住每一個猶太人,記住,,要活的,!”
“我要親自把匕首捅進(jìn)這群吸血鬼的心臟!”
為首的羅馬將領(lǐng)發(fā)布了不容置疑的命令,,士兵們則開始了四處追捕,。
而小鎮(zhèn)的另一邊出口,一群身穿黑色斗篷的人趁著茫茫夜色,,行色匆匆地逃竄著,。
“不能再這樣下去了”。
有人說道,。
“羅馬人很快會追上來,,我們逃不掉的”。
“我可不想死在那些劊子手的屠刀下,!”
“還不如自我了結(jié)掉,!”
有人哀嚎道。
這時,,一個好事者跳了出來,。
“我有個提議,,咋們41個人排成一個圓圈,,由第1個人開始報數(shù),每報數(shù)到第3人這個人就必須自殺,,然后再由下一個重新報數(shù),,直到所有人都自殺身亡為止”。
“大家贊同嗎,?”
大部分人舉起了手臂,,只有兩個人除外。
一個自然是楊成,,他是來完成任務(wù)的,,可不是來和這些SB糾纏不清的,。
還有一個人,人們都稱呼他為約瑟夫,。
這廝據(jù)說是個歷史學(xué)家或者說是數(shù)學(xué)家,。
不過這顯然無關(guān)緊要,反正大伙都得玩完兒,。
約瑟夫眨巴著眼睛,,眼中閃爍不定,不知道在想些什么,。
其他人不認(rèn)得楊成,,卻認(rèn)得約瑟夫。
“約瑟夫,,你想做膽小鬼嗎,?”
“沒門!”
有人開始憤憤不平了,。
“不不不”,。
約瑟夫搖搖頭。
“各位請先入場,,我隨后就來”,。
楊成自然也是很識時務(wù)地點了點頭,表示自己愿意順從大家的意志,。
約瑟夫瞟了楊成一眼,,眼中多了一絲玩味,楊成則是低垂著頭,,一言不發(fā),。
事實上,他正在從全息菜單中調(diào)取代碼編輯器面板,,來一次死亡邊緣的編程,。
其他的猶太人走到一處空地上,開始組成一道死亡的環(huán)形隊列,。
楊成依然面不改色,,他正在一個接一個字符地編寫代碼。
“總?cè)藬?shù)41,,報數(shù)間隔3,,余留人數(shù)1”。
楊成開始了初始化配置,。
對于約瑟夫環(huán)問題,,可以用循環(huán)列表來求解。
只要剩余人數(shù)大于1個,,那么就執(zhí)行兩個操作,,一是報數(shù),,二是殺人。
值得注意的是,,循環(huán)列表有鏈表和數(shù)組兩種實現(xiàn)方式,,它們的效率是不一樣的。
一般來說,,用循環(huán)鏈表來解決Josephus問題效率會更高,。
然而,時間不等人,。
站在圈中的人開始不耐煩了,。
“我說,那邊那兩個,,還不過來是什么意思,?!”
“不會要咋們親自動手吧,!”
“好的,,讓諸位久等了”。
約瑟夫瞇著眼睛,,走向人們,。
他很快站定了位置,一臉的輕松自如,。
楊成在虛擬編輯器上折騰了半天,,最后一運行,好不容易求出了結(jié)果,。
這結(jié)果告訴他,,第三十一個位置才是最安全的,或者說是最后被干掉的,。
他放眼一掃,,發(fā)現(xiàn)第三十一位竟然被約瑟夫占據(jù)了。
“這狡猾的老家伙,!”
楊成不禁唾罵一聲,。
原來這約瑟夫早就算出了最安全的位置,而自己還在這兒傻乎乎地敲代碼,。
這其實也只能怪楊成自己,,他用循環(huán)列表求解約瑟夫環(huán),,要模擬整個游戲的過程,。
不但程序?qū)懫饋砗苈闊覉?zhí)行的效率還很低,。
如果只是要求出最后的勝利者序號,,實施一點數(shù)學(xué)策略就可以做到,。
我應(yīng)該找一個公式來算的!
不過來不及了,,再這么下去楊成就會被暴怒而絕望的猶太人撕成碎片了,。
于是他加快了思維速度。
事實上呢,,因為他初始化配置非常得當(dāng),。
只需要稍稍地改變一下程序代碼,把余留人數(shù)從1改成2,,不就OK了嘛,?
程序再次運行,他很快得到了自己應(yīng)該站的位置——16,。
楊成站好了地方,,這場死亡游戲便拉開了序幕。
“1”,,第一個人吹響了死亡的號角,。
“2”,第二個人暫避了風(fēng)險,,不過殊途同歸,。
“3”,報到這個數(shù)字的人,,面色慘白,,然后,他絕望地掏出一支匕首,,狠狠地劃向自己的肌膚,。
“噗通!”
鮮血染紅了草地,,死神繼續(xù)揮舞著殺戮的鐮刀,。
“1...”
“2...”
剛才還站立著的人,此時已經(jīng)倒了個七七八八,。
而約瑟夫和楊成就好比暴風(fēng)雨中的兩艘巨艦一般,,繼續(xù)乘風(fēng)破浪,毫無顧忌,。
有些人看出了點端倪,,但在絕望中都只是徒勞的。
就算是沒自殺,,那些粗魯野蠻的羅馬人會留活口嗎,?
“噗通!”
倒數(shù)第三位的人倒在了血泊之中。
約瑟夫緊盯著眼前這個年輕人,,他根本不像是猶太人,,更像來自東方的旅人。
“我說,,你怎么不報數(shù)了,?”
約瑟夫目光中流露出一絲狡黠。
“約瑟夫先生,,你很聰明”,。
對于這種智者,楊成毫不吝惜贊美之詞,。
“哦,?你的意思我不明白”。
約瑟夫還在裝糊涂,。
“我的目的和你是一樣的,!”
楊成平視約瑟夫,后者微微一愣,。
“那就是活下去,!”
說完,楊成轉(zhuǎn)過身子,,走進(jìn)了叢林深處,。
“有趣的小子”。
約瑟夫丟下這句話,,也是一轉(zhuǎn)身,,逃了個無影無蹤。
這時,,東方的地平線上第一縷曙光開始出現(xiàn),,地面上橫七豎八的尸體也消失不見了。
“叮,!”
愉悅的系統(tǒng)聲音響起來,。
“恭喜玩家您完成了約瑟夫環(huán)的任務(wù)”。
“先前積分15分”,。
“循環(huán)列表求解約瑟夫環(huán)獎勵2分”,。
“當(dāng)前積分17分,擊敗了全球11%的玩家”,。
“才2分,,太少了吧”。
楊成玩了幾把游戲,,也算是開闊了一些眼界,。
“您現(xiàn)在準(zhǔn)備開始下一個挑戰(zhàn)嘛?”
楊成伸了伸懶腰。
“馬上開始吧,,大爺現(xiàn)在精力充沛,,打幾個怪升升級沒有半點問題”,。