#include #include #include #include #include #include #include #include using namespace lemon; using namespace std; int main() { typedef UndirSmartGraph Graph; typedef Graph::Edge Edge; typedef Graph::UndirEdgeIt UndirEdgeIt; typedef Graph::IncEdgeIt IncEdgeIt; typedef Graph::NodeIt NodeIt; typedef Graph::Node Node; typedef Graph::OutEdgeIt OutEdgeIt; Graph G; // G.clear(); std::vector nodes; for (int i=0; i<5; ++i) nodes.push_back(G.addNode()); G.addEdge(nodes[0], nodes[0]); G.addEdge(nodes[0], nodes[1]); G.addEdge(nodes[0], nodes[2]); G.addEdge(nodes[0], nodes[4]); G.addEdge(nodes[2], nodes[3]); G.addEdge(nodes[1], nodes[2]); G.addEdge(nodes[2], nodes[4]); for(UndirEdgeIt e(G); e!=INVALID; ++e) { std::cout< max_matching(G); max_matching.runEdmonds(0); return 0; }