[Lemon-commits] [lemon_svn] jacint: r1454 - hugo/trunk/src/work/jacint
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 20:45:34 CET 2006
Author: jacint
Date: Fri Jan 7 09:40:13 2005
New Revision: 1454
Added:
hugo/trunk/src/work/jacint/bug.cc
Log:
undirgrafbug
Added: hugo/trunk/src/work/jacint/bug.cc
==============================================================================
--- (empty file)
+++ hugo/trunk/src/work/jacint/bug.cc Fri Jan 7 09:40:13 2005
@@ -0,0 +1,60 @@
+//lasd megjegyzes a 49-es sorban
+#include <iostream>
+#include <queue>
+#include <vector>
+#include <math.h>
+
+#include <lemon/invalid.h>
+#include <lemon/list_graph.h>
+#include <matching.h>
+
+using namespace lemon;
+
+int main(int, char **) {
+
+ typedef UndirListGraph Graph;
+
+ typedef Graph::Edge Edge;
+ typedef Graph::UndirEdgeIt UndirEdgeIt;
+ typedef Graph::IncEdgeIt IncEdgeIt;
+ typedef Graph::NodeIt NodeIt;
+ typedef Graph::Node Node;
+
+ Graph G;
+
+ G.clear();
+ std::vector<Graph::Node> 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<<G.id(e)<<" : "<<G.id(G.source(e))<<" " <<G.id(G.target(e))<<std::endl;
+ }
+
+ std::cout <<"Nodes:"<<std::endl;
+
+ for(NodeIt v(G); v!=INVALID; ++v) {
+ std::cout<<G.id(v)<<std::endl;
+ }
+
+ for( IncEdgeIt f(G,nodes[1]); f!=INVALID; ++f ) {
+ std::cout<<"edges " << G.id(f)<< " : " << G.id(G.target(f))<<std::endl;
+ }//ez a ket for ciklus meg lefut - bar hibas eleken iteral -, de a matching.h-s mar segfaultol
+
+ for( IncEdgeIt f(G,nodes[1]); f!=INVALID; ++f ) {
+ std::cout<<"edges " << G.id(f)<< " : " << G.id(G.target(f))<<std::endl;
+ }
+
+ MaxMatching<Graph> max_matching(G);
+ max_matching.runEdmonds(0);
+
+ return 0;
+}
+
More information about the Lemon-commits
mailing list