#include #include #include #include #include #include using namespace hugo; int main(int, char **) { typedef ListGraph::NodeIt NodeIt; typedef ListGraph::EachEdgeIt EachEdgeIt; ListGraph G; NodeIt s, t; ListGraph::EdgeMap cap(G); readDimacsMaxFlow(std::cin, G, s, t, cap); std::cout << "dijkstra demo ..." << std::endl; double pre_time=currTime(); Dijkstra dijkstra_test(G, s, cap); double post_time=currTime(); std::cout << "running time: " << post_time-pre_time << " sec"<< std::endl; EachEdgeIt e; for ( G.getFirst(e) ; G.valid(e); G.next(e) ) { NodeIt u=G.tail(e); NodeIt v=G.head(e); assert ( dijkstra_test.dist(v) - dijkstra_test.dist(u) <= cap.get(e) ); } return 0; }