给出起始站和终点站,求停站最少的路径,如果有相同的,就选择换乘最少的。
这一题,用dfs求最短路径,很容易求出来,就是换乘如何表达比较难,想了半天没有好的表示换乘办法,看了别人方法,用map把号码*10000+另一站号表示为两个在同一条线,简洁明了,易表达,于是用了别人的方法很快做出来。回头看了一下自己的代码,我是用栈循环dfs,发现没有把访问过的状态变回来,导致最短路径求的时候有错,算是找到了自己的错误,我的方法用来求最短路径还可以,但是求换乘最少就要做很多复杂的工作,最后还是放弃了在原来的代码上进行修改。
(用时:2:52:26.06)
PAT 1131 Subway Map
最新推荐文章于 2021-04-21 18:22:41 发布