一刻钟后,杨成左手端着杯豆浆,右手拿着几根油条,嘴巴里还咬着半截油条走进了网吧。
而他那些哥们,都拿着教科书,正走在上课的路上。
对于他来讲,听那些理论课实在是浪费时间,动手+实践才是王道!
至于考试,那不是考前复习几天,看看老师划的重点就能避免挂科的么?
于是,在享用完早餐后,杨成再次戴上了VR头盔,进入代码战争的世界。
“叮!温馨提示:尊敬的玩家,您本次挑战的关卡可能遇到危险,请在遇到困难后及时地后退,我们将用3D全息投影地图为您提供帮助”。
“系统生成螺旋矩阵迷宫,加载中,请稍候....”
下一分钟,杨成出现在了一个宽敞的走道中。
勉强适应周围昏暗的光线,杨成抬头看了看四周,两侧都是光滑的墙壁,四周静寂无声,恐怕连一根大头钉掉落在地上也能听到清脆的一响。
同时出现在他眼前的,还有一幅3D地图。地图上明确地标识了9个区域,而绿色的箭头作为标识他自身的位置,出现在1区。
这九个区域构成了一个基础型的九宫格,或者说3X3矩阵。
“1,2,3”
“4,5,6”
“7,8,9”
摆在杨成眼前的有3条道路,可以选择前往2区,5区或者4区。
“先去4区看看”,杨成选择了最下方的道路,一路大步迈进。
空气中弥漫着阴冷的气息,杨成感觉身体升起一股寒意,一种不祥的预感突然袭来。
他左顾右盼,也没发现啥危险的东西啊,于是他继续大步前进。
“咔嚓”,一种机械齿轮转动的声音传来,吸引了杨成的注意力。
“哗啦”,两侧的石壁不知啥时候扯开了两道口子。
“唰唰!”,两个砂钵大的铁拳从口子里钻出来,一左一右地朝杨成攻过来。
“唉呀!”,杨成一声惊呼,慌乱之中匆忙后跳,这厮身体素质还是不错的。
“嘭!”,两个铁拳狠狠地撞击在一起,发出沉闷的一响。
杨成拍拍胸脯,心有余悸地喘了喘气。
“这真是拿生命在开玩笑啊”,他不敢再试,只好原路返回,退回了1区。
端坐在冰冷的地面上,他开始思索解题方法。
刚才系统好像有提到关键的几个字——“螺旋矩阵”,这是个嘛玩意儿呢?
这是一种算法或者说是矩阵中的行进策略。
杨成在迷宫中有上下左右四种行走方式,但只有依据“螺旋式”策略才有可能走到出口,它具体体现在:
先向右走,如果遇到边界,或者右边的区域已经走过,那么就向下走,否则继续向右走。
当向下走,如果遇到边界,或者下边的区域已经走过,那么就向左走,否则继续向下走。
当向左走,如果遇到边界,或者左边的区域已经走过,那么就向上走,否则继续向左走。
当向上走,如果遇到边界,或者上边的区域已经走过,那么就向右走,否则继续向上走。
依照这种策略,走过的区域依次是“1,2,3,6,9,8,7,4,5”,最后到达终点站,正中间的5区。
不过,这个问题并不局限在九宫格或者说3X3型矩阵,也有可能是4X4,5X5甚至是NXN的矩阵。这就决定了不能硬编码,必须求出通用的解法。
“终于写完咯”,杨成敲完最后一行代码,擦了把汗。
“系统快告诉我,做的咋样?”
“叮!恭喜您完成了螺旋矩阵的任务”,系统兴奋地说道。
“当前积分35分,击败了全球21%的玩家,请您再接再厉!”
“告诉俺,下一站去哪里?”
“去非洲!”,系统肯定地说道。