1131 Subway Map (30 分)
给定地铁线路,找出最佳路径。最佳两个标尺:
- 总经过站数最少
- 少换乘
DFS遍历即可。
关键是判断换乘以及用什么方法来存A站-B站属于哪条线路。
直接line[10000][10000]怕是要,所以一开始写的是map, int> stop_line;
并且规定线路存的时候是id小的站放在pair.first, id大的放在second。
然而看了柳神题解后发现:可以进一步降维啊。已知是0000-9999,那就可以用一个int aaaabbbb来存线路了,高四位代表站A,低四位表示站B,map stop2_line;
)
- ⬇️这是一开始的写法(绕圈判断❌)
25分,测试点3运行超时。
因为想到维护visited防止绕圈,但是把防止绕圈想成了防止走一样的路,明明是一条路再次走过某站就算绕圈了呜呜呜我在想什么……)
⚠️目测降维什么的不是超时的主因,绕圈才是。
#include
#include
#include
#include
#include
#include
#include
#include