题目 : All Roads Lead to Rome
分值 : 30
难度 : 中等题
思路 : 给 N 个点,是字符串形式,第一步要做的就是把字符串映射成数字,我在这里利用了map
然后就是最短路径多条件,先要求路径最短,再要求收益最高,再要求平均收益高,好在这
里三个要求都是贪心可解决的,因此只要在判断路径是否更优上写个层次结构就行了.
坑点 : 1)N个点是字符给出的,需要自己进行映射.
2)判断路径是否更优,层次结构理清楚.
3)然后判断cost相同的路经数如何更新:距离相同+=/距离不同= 中间点路经数
4)利用pre数组记录各个点之前的那个点,打印时需要正向打印:利用递归体解决.
评分 : 总的来说,不难但是细节很多,做下来让人感觉很充实,一遍AC是最爽的了.
具体代码如下
1 |
|