#include #include #include #include #include #include using namespace hugo; // Use a DIMACS max flow file as stdin. // read_dimacs_demo < dimacs_max_flow_file 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 << "preflow demo (ATHOS)..." << std::endl; //ListGraph::EdgeMap flow(G); //0 flow double pre_time=currTime(); preflow_push max_flow_test(G, s, t, cap); int flow_value=max_flow_test.run(); //ListGraph::NodeMap cut=max_flow_test.mincut(); //int cut_value=0; //for(EachEdgeIt e=G.first(); e.valid(); ++e) { // if (cut.get(G.tail(e)) && !cut.get(G.head(e))) cut_value+=cap.get(e); //} double post_time=currTime(); //std::cout << "maximum flow: "<< std::endl; //for(EachEdgeIt e=G.first(); e.valid(); ++e) { // std::cout<<"("<"<