Changeset 986:e997802b855c in lemon-0.x for src/work/jacint/preflow_excess.h
- Timestamp:
- 11/13/04 13:53:28 (20 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1376
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/work/jacint/preflow_excess.h
r921 r986 137 137 InEdgeIt e; 138 138 for(G.first(e,v); G.valid(e); G.next(e)) { 139 Node w=G. tail(e);139 Node w=G.source(e); 140 140 if ( level[w] == n && w != s ) { 141 141 bfs_queue.push(w); … … 155 155 T c=capacity[e]; 156 156 if ( c == 0 ) continue; 157 Node w=G. head(e);157 Node w=G.target(e); 158 158 if ( level[w] < n ) { 159 159 if ( excess[w] == 0 && w!=t ) active[level[w]].push(w); … … 183 183 for(G.first(e,v); G.valid(e); G.next(e)) { 184 184 if ( capacity[e] == flow[e] ) continue; 185 Node w=G. tail(e);185 Node w=G.source(e); 186 186 if ( level[w] == n && w != s ) { 187 187 bfs_queue.push(w); … … 197 197 for(G.first(f,v); G.valid(f); G.next(f)) { 198 198 if ( 0 == flow[f] ) continue; 199 Node w=G. head(f);199 Node w=G.target(f); 200 200 if ( level[w] == n && w != s ) { 201 201 bfs_queue.push(w); … … 248 248 T rem=capacity[e]-flow[e]; 249 249 if ( rem == 0 ) continue; 250 Node w=G. head(e);250 Node w=G.target(e); 251 251 if ( level[w] < n ) { 252 252 if ( excess[w] == 0 && w!=t ) active[level[w]].push(w); … … 260 260 { 261 261 if ( flow[f] == 0 ) continue; 262 Node w=G. tail(f);262 Node w=G.source(f); 263 263 if ( level[w] < n ) { 264 264 if ( excess[w] == 0 && w!=t ) active[level[w]].push(w); … … 304 304 for(G.first(e,v); G.valid(e); G.next(e)) { 305 305 if ( capacity[e] == flow[e] ) continue; 306 Node u=G. tail(e);306 Node u=G.source(e); 307 307 if ( level[u] >= n ) { 308 308 bfs_queue.push(u); … … 315 315 for(G.first(f,v); G.valid(f); G.next(f)) { 316 316 if ( 0 == flow[f] ) continue; 317 Node u=G. head(f);317 Node u=G.target(f); 318 318 if ( level[u] >= n ) { 319 319 bfs_queue.push(u); … … 344 344 345 345 if ( flow[e] == capacity[e] ) continue; 346 Node v=G. head(e);346 Node v=G.target(e); 347 347 //e=wv 348 348 … … 386 386 387 387 if( flow[e] == 0 ) continue; 388 Node v=G. tail(e);388 Node v=G.source(e); 389 389 //e=vw 390 390 … … 570 570 OutEdgeIt e; 571 571 for(G.first(e,w) ; G.valid(e); G.next(e)) { 572 Node v=G. head(e);572 Node v=G.target(e); 573 573 if (!M[v] && flow[e] < capacity[e] ) { 574 574 queue.push(v); … … 579 579 InEdgeIt f; 580 580 for(G.first(f,w) ; G.valid(f); G.next(f)) { 581 Node v=G. tail(f);581 Node v=G.source(f); 582 582 if (!M[v] && flow[f] > 0 ) { 583 583 queue.push(v); … … 610 610 InEdgeIt e; 611 611 for(G.first(e,w) ; G.valid(e); G.next(e)) { 612 Node v=G. tail(e);612 Node v=G.source(e); 613 613 if (!M[v] && flow[e] < capacity[e] ) { 614 614 queue.push(v); … … 619 619 OutEdgeIt f; 620 620 for(G.first(f,w) ; G.valid(f); G.next(f)) { 621 Node v=G. head(f);621 Node v=G.target(f); 622 622 if (!M[v] && flow[f] > 0 ) { 623 623 queue.push(v);
Note: See TracChangeset
for help on using the changeset viewer.