This example computes the value of the minimum cut separating s
from t
.
GomoruHu<Graph> gom(g, capacities); gom.run(); int value=0; for(GomoruHu<Graph>::MinCutEdgeIt e(gom,s,t); e!=INVALID; ++e) value+=capacities[e];
#include <lemon/gomory_hu.h>
Public Member Functions | |
MinCutEdgeIt (GomoryHu const &gomory, const Node &s, const Node &t, bool side=true) | |
operator typename Graph::Arc () const | |
operator typename Graph::Edge () const | |
MinCutEdgeIt & | operator++ () |
Graph::Arc | operator++ (int) |
Postfix incrementation. |
MinCutEdgeIt | ( | GomoryHu const & | gomory, | |
const Node & | s, | |||
const Node & | t, | |||
bool | side = true | |||
) | [inline] |
Constructor.
gomory | The GomoryHu class. You must call its run() method before initializing this iterator. | |
s | The base node. | |
t | The node you want to separate from node s . | |
side | If it is true (default) then the listed arcs will be oriented from the nodes of the component containing s , otherwise they will be oriented in the opposite direction. |
operator typename Graph::Arc | ( | ) | const [inline] |
Conversion to Arc
.
operator typename Graph::Edge | ( | ) | const [inline] |
Conversion to Edge
.
MinCutEdgeIt& operator++ | ( | ) | [inline] |
Next edge.
Graph::Arc operator++ | ( | int | ) | [inline] |
Postfix incrementation.
Arc
, not a MinCutEdgeIt
, as one may expect.