编程之战第十四章 迷路的牛仔

来源:互联网 发布:js的缺点 编辑:程序博客网 时间:2024/06/03 01:27

一大清早,睡得迷迷糊糊的杨成揉了揉眼睛,他看了看时间,才早上七点钟。

要不要考虑先去吃碗面,喝点热气腾腾的豆浆什么的。

“算了”,他感觉自己还不饿,“先刷个题目来作为早餐吧”。

戴着头盔再次进入代码战争,短暂地失明过后,热辣辣的太阳炙烤在了杨成脸上。

“什么鬼?!”,杨成看清了自己这身打扮。

头上戴着墨西哥式的宽沿高顶毡帽,腰间挎着一把柯尔特,肩上扛着一把温彻斯特来复,身上则缠着密密麻麻的子弹带,牛仔裤皮上衣,身上穿着束袖紧身多袋牛仔服,一双饰有刺马钉的高筒皮套靴套在脚上,脖子上还围了一块色彩鲜艳夺目的印花大方巾。

最关键的地方是身下一匹风驰电掣般的快马,让人有些Hold不住啊!

“我该不是变成了兰博吧?!”,杨成觉得不够像,最起码没有史泰龙那样彪悍的肌肉。

再看了看这四周,贫瘠的荒漠,稀疏的灌木丛,杨成基本可以确定,自己正处在美国西部的某个地方,而自己这角色,估计就是英勇洒脱的西部牛仔了。

“我该怎么走?”,一人一马驻留在原地,茫然不知所措。

在这人迹罕至的西部荒野,糟糕的天气,匮乏的水源,节约点体力很重要,否则很可能死于非命!

更别提还有跃跃欲试的印第安人,极具攻击性的蝮蛇,响尾蛇!

“有点意思”,杨成嘴角叼着个牙签,从马上下来。

首先,他把那把沉甸甸的温彻斯特来复随手一丢。

这可不是装X的时候,他可不需要一把霰弹来打野猪!

然后,他摸了摸口兜,希望能找到一丝的线索。

果不其然,他很快翻出了一个小小的便笺,上面画着一些指示。

杨成定睛一看,这都是英文啊。

["NORTH", "SOUTH", "SOUTH", "EAST", "WEST", "NORTH", "WEST"]

杨成第一眼看过去,就感觉有点不合理了。

假如这是方向的指示,"NORTH""SOUTH",这一南一北,有意义吗?

还不如呆在原地,也不用做无用功啊!

杨成心里明白,这个关卡考察的就是怎样精简路线,以节约体力。

"NORTH""SOUTH"可以做抵消,"EAST""WEST"也可以做抵消。

那么刚才的路线指示经过抵消之后,就只剩下一个方向——“WEST”,直接往西边走!

但对于程序而言,怎么编写一个减少路线的函数呢?

第一步,建立方向的映射关系,哪些是相反的方向,比如东西,南北。

接着,遍历这些指示方向,到相反的方向,就移除,抵消。

这个过程将一直持续到,没有任何相反的方向为止。

此时剩下的指示就是经过精简后的最佳路线。

“叮!”,在杨成敲完代码后,系统音及时地响起来。

“恭喜您完成迷路的牛仔任务!”

“先前积分29分”。

“循环求解问题奖励2分”。

“对象映射关系建立奖励1分”。

“当前积分32分,击败了全球19%的玩家,请您再接再厉!”

“肚子好饿啊,ESC,成哥我先去吃点早餐”。

原创粉丝点击