implement dijkstra algorithm all by myself, very good. use dfs to find all shortest path (refer to other's algorithm), learn a lot, gooooood