1.1 --- a/src/work/jacint/preflow_hl2.h Wed Feb 18 17:27:13 2004 +0000
1.2 +++ b/src/work/jacint/preflow_hl2.h Wed Feb 18 21:50:45 2004 +0000
1.3 @@ -80,7 +80,7 @@
1.4 IntMap level(G,n);
1.5 TMap excess(G);
1.6
1.7 - std::vector<int> numb(n+1);
1.8 + std::vector<int> numb(n);
1.9 /*
1.10 The number of nodes on level i < n. It is
1.11 initialized to n+1, because of the reverse_bfs-part.
1.12 @@ -118,13 +118,14 @@
1.13 /* Starting flow. It is everywhere 0 at the moment. */
1.14 for(OutEdgeIt e=G.template first<OutEdgeIt>(s); e.valid(); ++e)
1.15 {
1.16 - if ( capacity.get(e) == 0 ) continue;
1.17 + T c=capacity.get(e);
1.18 + if ( c == 0 ) continue;
1.19 NodeIt w=G.head(e);
1.20 if ( w!=s ) {
1.21 if ( excess.get(w) == 0 && w!=t ) stack[level.get(w)].push(w);
1.22 - flow.set(e, capacity.get(e));
1.23 - excess.set(w, excess.get(w)+capacity.get(e));
1.24 - }
1.25 + flow.set(e, c);
1.26 + excess.set(w, excess.get(w)+c);
1.27 + }
1.28 }
1.29
1.30 /*
1.31 @@ -155,7 +156,7 @@
1.32 stack[b].pop();
1.33 int lev=level.get(w);
1.34 int exc=excess.get(w);
1.35 - int newlevel=2*n-2; //In newlevel we bound the next level of w.
1.36 + int newlevel=2*n; //In newlevel we bound the next level of w.
1.37
1.38 // if ( level.get(w) < n ) { //Nem tudom ez mukodik-e
1.39 for(OutEdgeIt e=G.template first<OutEdgeIt>(w); e.valid(); ++e) {