感谢出免试题过程中帮助我的各位学长以及提供思路的同学。
很荣幸成为免试题出题人之一,这次出题也算是对自己的一种磨练。第五关作为整个免试题的最后一关,主要考察点是算法的图论方面。接下来详细介绍一下第五关的通关攻略lol。
题目链接:level 5
假设你现在已经通过前四关来到了最后一关,首先映入眼帘的是一些星球的连线。
相信有点图论基础的同学此时心里会大概有个方向了吧,页面上有个提交按钮还有一个start:1 end:4的提示告诉你起始点为1目标点为4。页面上暂时没有什么其他的有效信息,好在点比较少,我们可以先一个一个试一下。
对于给定的起始点和目标点来说,我们有以下四种路径:
1:1->2->4
2:1->3->4
3:1->5->4
4:1->6->4
这四条路径权值和分别为:
1->2->4 :2 + 3 = 5
1->3->4 :3 + 4 = 7
1->5->4 :4 + 5 = 9
1->6->4 :5 + 6 = 11
我们分别尝试这四条路径,发现提交1->3->4这条路径时页面跳转了,进入了第五关的第二个页面。
好吧,我相信在看到第二个页面的时候很多同学的内心是拒绝的O。。。我的内心也是拒绝的。。。然而再怎么吐槽这个图我也是硬着头皮画的你们也得硬着头皮做。。。ORZ
一开始拿到这个图可能会有些头大,会发现有个残忍的倒计时,但这个时候需要你们理清思路回顾以下上一个页面。在上一个页面中,我们选择1->3->4 这条路径后进入到这个页面,根据上面每条路径权值和的分析,我们发现1->3->4 是所有路径中权值和第二小的的路径。思考到这里,第五关的通关规则就很清楚了,需要你找到从起始点到目标点的次短路径。
但是这么多星球,这么多连线,自己画出来十分的麻烦,这时我们可以延续前四关的优良传统——审查元素。