This example computes the value of the minimum cut separating s from t.
GomoryHu<Graph> gom(g, capacities); gom.run(); int value=0; for(GomoryHu<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.