jacint@109: #include jacint@109: #include jacint@109: jacint@109: #include jacint@109: #include jacint@109: #include jacint@109: #include jacint@109: jacint@109: using namespace hugo; jacint@109: jacint@109: // Use a DIMACS max flow file as stdin. jacint@109: // read_dimacs_demo < dimacs_max_flow_file jacint@109: int main(int, char **) { jacint@109: typedef ListGraph::NodeIt NodeIt; jacint@109: typedef ListGraph::EachEdgeIt EachEdgeIt; jacint@109: jacint@109: ListGraph G; jacint@109: NodeIt s, t; jacint@109: ListGraph::EdgeMap cap(G); jacint@109: readDimacsMaxFlow(std::cin, G, s, t, cap); jacint@109: jacint@109: std::cout << "preflow parameters test ..." << std::endl; jacint@109: jacint@109: double min=1000000; jacint@109: jacint@109: int _j=0; jacint@109: int _k=0; jacint@109: jacint@109: for (int j=1; j!=40; ++j ){ jacint@109: for (int k=1; k!=j; ++k ){ jacint@109: jacint@109: double mintime=1000000; jacint@109: jacint@109: for ( int i=1; i!=4; ++i ) { jacint@109: double pre_time=currTime(); jacint@109: preflow_param max_flow_test(G, s, t, cap, j, k); jacint@109: double post_time=currTime(); jacint@109: if ( mintime > post_time-pre_time ) mintime = post_time-pre_time; jacint@109: } jacint@109: if (min > mintime ) {min=mintime; _j=j; _k=k;} jacint@109: } jacint@109: } jacint@109: jacint@109: std::cout<<"Min. at ("<<_j<<","<<_k<<") in time "<