# HG changeset patch # User jacint # Date 1077018202 0 # Node ID 93bb934b0794697f67ea585b4b5b94e5c7907db6 # Parent 46705346edd4f690dee773b125fb755d3d24beb6 fast version diff -r 46705346edd4 -r 93bb934b0794 src/work/jacint/preflow_push_hl.h --- a/src/work/jacint/preflow_push_hl.h Tue Feb 17 11:24:21 2004 +0000 +++ b/src/work/jacint/preflow_push_hl.h Tue Feb 17 11:43:22 2004 +0000 @@ -25,7 +25,8 @@ #ifndef PREFLOW_PUSH_HL_H #define PREFLOW_PUSH_HL_H -//#include +#define A 1 + #include #include @@ -64,6 +65,8 @@ */ void run() { + std::cout<<"A is "< level(G); typename Graph::NodeMap excess(G); @@ -220,7 +223,7 @@ if ( oldlevel < n ) { --numb[oldlevel]; - if ( !numb[oldlevel] ) { //If the level of w gets empty. + if ( !numb[oldlevel] && oldlevel < A*n ) { //If the level of w gets empty. for (EachNodeIt v=G.template first(); v.valid() ; ++v) { if (level.get(v) > oldlevel && level.get(v) < n ) level.set(v,n); @@ -268,7 +271,7 @@ For the maximum flow x found by the algorithm, it returns the flow value on Edge e, i.e. x(e). */ - T flowonEdge(EdgeIt e) { + T flowonedge(EdgeIt e) { return flow.get(e); }