编程代码之战:第3章 约瑟夫环

哔咔漫画
‹ 返回

第3章 约瑟夫环

一大清早,天刚蒙蒙亮。

杨成洗漱完毕,匆忙吃了一点早餐,便来到了网吧。

他心中隐隐地对下一个关卡有了些期待。

作为一名准程序员,新鲜事物对于他总是很有吸引力的。

反倒是那些室友,杨成感觉更像是20世纪的人。

居然还玩横板格斗单机游戏...

能不能稍微有点追求啊!

杨成很快戴上头盔,进入了角色。

“叮!”

熟悉的系统音响起来。

“亲爱的挑战者,准备前往下一个关卡了嘛?”

“OK,一切就绪”。

杨成打出个胜利的手势。

“祝你好运!”

系统发出贴心的祝福,然后杨成的意识进入到了另外一个空间。

乔塔帕特小镇的夜晚并不宁静,此时月黑风高。

一群全副武装的士兵闯入了这里,他们戴着狼皮头盔,身穿坚韧的铠甲,手里拿着盾牌与标枪,身上还配着锋利的短剑。

这一切表面了他们的身份——残暴无比的罗马人。

“抓住每一个犹太人,记住,要活的!”

“我要亲自把匕首捅进这群吸血鬼的心脏!”

为首的罗马将领发布了不容置疑的命令,士兵们则开始了四处追捕。

而小镇的另一边出口,一群身穿黑色斗篷的人趁着茫茫夜色,行色匆匆地逃窜着。

“不能再这样下去了”。

有人说道。

“罗马人很快会追上来,我们逃不掉的”。

“我可不想死在那些刽子手的屠刀下!”

“还不如自我了结掉!”

有人哀嚎道。

这时,一个好事者跳了出来。

“我有个提议,咋们41个人排成一个圆圈,由第1个人开始报数,每报数到第3人这个人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止”。

“大家赞同吗?”

大部分人举起了手臂,只有两个人除外。

一个自然是杨成,他是来完成任务的,可不是来和这些SB纠缠不清的。

还有一个人,人们都称呼他为约瑟夫。

这厮据说是个历史学家或者说是数学家。

不过这显然无关紧要,反正大伙都得玩完儿。

约瑟夫眨巴着眼睛,眼中闪烁不定,不知道在想些什么。

其他人不认得杨成,却认得约瑟夫。

“约瑟夫,你想做胆小鬼吗?”

“没门!”

有人开始愤愤不平了。

“不不不”。

约瑟夫摇摇头。

“各位请先入场,我随后就来”。

杨成自然也是很识时务地点了点头,表示自己愿意顺从大家的意志。

约瑟夫瞟了杨成一眼,眼中多了一丝玩味,杨成则是低垂着头,一言不发。

事实上,他正在从全息菜单中调取代码编辑器面板,来一次死亡边缘的编程。

其他的犹太人走到一处空地上,开始组成一道死亡的环形队列。

杨成依然面不改色,他正在一个接一个字符地编写代码。

“总人数41,报数间隔3,余留人数1”。

杨成开始了初始化配置。

对于约瑟夫环问题,可以用循环列表来求解。

只要剩余人数大于1个,那么就执行两个操作,一是报数,二是杀人。

值得注意的是,循环列表有链表和数组两种实现方式,它们的效率是不一样的。

一般来说,用循环链表来解决Josephus问题效率会更高。

然而,时间不等人。

站在圈中的人开始不耐烦了。

“我说,那边那两个,还不过来是什么意思?!”

“不会要咋们亲自动手吧!”

“好的,让诸位久等了”。

约瑟夫眯着眼睛,走向人们。

他很快站定了位置,一脸的轻松自如。

杨成在虚拟编辑器上折腾了半天,最后一运行,好不容易求出了结果。

这结果告诉他,第三十一个位置才是最安全的,或者说是最后被干掉的。

他放眼一扫,发现第三十一位竟然被约瑟夫占据了。

“这狡猾的老家伙!”

杨成不禁唾骂一声。

原来这约瑟夫早就算出了最安全的位置,而自己还在这儿傻乎乎地敲代码。

这其实也只能怪杨成自己,他用循环列表求解约瑟夫环,要模拟整个游戏的过程。

不但程序写起来很麻烦,而且执行的效率还很低。

如果只是要求出最后的胜利者序号,实施一点数学策略就可以做到。

我应该找一个公式来算的!

不过来不及了,再这么下去杨成就会被暴怒而绝望的犹太人撕成碎片了。

于是他加快了思维速度。

事实上呢,因为他初始化配置非常得当。

只需要稍稍地改变一下程序代码,把余留人数从1改成2,不就OK了嘛?

程序再次运行,他很快得到了自己应该站的位置——16。

杨成站好了地方,这场死亡游戏便拉开了序幕。

“1”,第一个人吹响了死亡的号角。

“2”,第二个人暂避了风险,不过殊途同归。

“3”,报到这个数字的人,面色惨白,然后,他绝望地掏出一支匕首,狠狠地划向自己的肌肤。

“噗通!”

鲜血染红了草地,死神继续挥舞着杀戮的镰刀。

“1...”

“2...”

刚才还站立着的人,此时已经倒了个七七八八。

而约瑟夫和杨成就好比暴风雨中的两艘巨舰一般,继续乘风破浪,毫无顾忌。

有些人看出了点端倪,但在绝望中都只是徒劳的。

就算是没自杀,那些粗鲁野蛮的罗马人会留活口吗?

“噗通!”

倒数第三位的人倒在了血泊之中。

约瑟夫紧盯着眼前这个年轻人,他根本不像是犹太人,更像来自东方的旅人。

“我说,你怎么不报数了?”

约瑟夫目光中流露出一丝狡黠。

“约瑟夫先生,你很聪明”。

对于这种智者,杨成毫不吝惜赞美之词。

“哦?你的意思我不明白”。

约瑟夫还在装糊涂。

“我的目的和你是一样的!”

杨成平视约瑟夫,后者微微一愣。

“那就是活下去!”

说完,杨成转过身子,走进了丛林深处。

“有趣的小子”。

约瑟夫丢下这句话,也是一转身,逃了个无影无踪。

这时,东方的地平线上第一缕曙光开始出现,地面上横七竖八的尸体也消失不见了。

“叮!”

愉悦的系统声音响起来。

“恭喜玩家您完成了约瑟夫环的任务”。

“先前积分15分”。

“循环列表求解约瑟夫环奖励2分”。

“当前积分17分,击败了全球11%的玩家”。

“才2分,太少了吧”。

杨成玩了几把游戏,也算是开阔了一些眼界。

“您现在准备开始下一个挑战嘛?”

杨成伸了伸懒腰。

“马上开始吧,大爷现在精力充沛,打几个怪升升级没有半点问题”。

哔咔漫画