# HG changeset patch # User marci # Date 1083350598 0 # Node ID 20e4941a354a129bcf9fdba354b86831433f2a8d # Parent 1a45623b47960beafa2a030b88118085a71480b1 bipatite diff -r 1a45623b4796 -r 20e4941a354a src/work/marci/bipartite_graph_wrapper.h --- a/src/work/marci/bipartite_graph_wrapper.h Fri Apr 30 17:48:50 2004 +0000 +++ b/src/work/marci/bipartite_graph_wrapper.h Fri Apr 30 18:43:18 2004 +0000 @@ -31,7 +31,8 @@ SFalseTTrueMap; SFalseTTrueMap* s_false_t_true_map; - BipartiteGraphWrapper() : GraphWrapper() { } + BipartiteGraphWrapper() : GraphWrapper()/*, + S_CLASS(false), T_CLASS(true)*/ { } void setSFalseTTrueMap(SFalseTTrueMap& _s_false_t_true_map) { s_false_t_true_map=&_s_false_t_true_map; } @@ -39,16 +40,16 @@ public: //marci //FIXME vhogy igy kellene, csak az en forditom nem eszi meg - //static const bool S_CLASS=false; - //static const bool T_CLASS=true; + static const bool S_CLASS=false; + static const bool T_CLASS=true; - bool S_CLASS; - bool T_CLASS; + //bool S_CLASS; + //bool T_CLASS; BipartiteGraphWrapper(Graph& _graph, SFalseTTrueMap& _s_false_t_true_map) : GraphWrapper(_graph), - s_false_t_true_map(&_s_false_t_true_map), - S_CLASS(false), T_CLASS(true) { } + s_false_t_true_map(&_s_false_t_true_map)/*, + S_CLASS(false), T_CLASS(true)*/ { } typedef typename GraphWrapper::Node Node; //using GraphWrapper::NodeIt; typedef typename GraphWrapper::Edge Edge; @@ -209,6 +210,7 @@ Node addNode(bool b) { Node n=Parent::graph->addNode(); bipartite_map.update(); + //bipartite_map.set(n, -1); s_false_t_true_map.insert(n, b); return n; } diff -r 1a45623b4796 -r 20e4941a354a src/work/marci/bipartite_matching_try_2.cc --- a/src/work/marci/bipartite_matching_try_2.cc Fri Apr 30 17:48:50 2004 +0000 +++ b/src/work/marci/bipartite_matching_try_2.cc Fri Apr 30 18:43:18 2004 +0000 @@ -76,11 +76,14 @@ FOR_EACH_LOC(EdgeIt, e, g) std::cout << e << " "; std::cout << std::endl; + std::cout << "Nodes:" << std::endl; + FOR_EACH_LOC(Graph::NodeIt, v, g) std::cout << v << " "; + std::cout << std::endl; std::cout << "Nodes in T:" << std::endl; - FOR_EACH_INC_LOC(Graph::ClassNodeIt, v, g, g.T_CLASS) std::cout << v << " "; + FOR_EACH_INC_LOC(Graph::ClassNodeIt, v, g, Graph::T_CLASS) std::cout << v << " "; std::cout << std::endl; std::cout << "Nodes in S:" << std::endl; - FOR_EACH_INC_LOC(Graph::ClassNodeIt, v, g, g.S_CLASS) std::cout << v << " "; + FOR_EACH_INC_LOC(Graph::ClassNodeIt, v, g, Graph::S_CLASS) std::cout << v << " "; std::cout << std::endl; std::cout << "Erasing the first node..." << std::endl; @@ -92,10 +95,10 @@ std::cout << std::endl; std::cout << "Nodes in T:" << std::endl; - FOR_EACH_INC_LOC(Graph::ClassNodeIt, v, g, g.T_CLASS) std::cout << v << " "; + FOR_EACH_INC_LOC(Graph::ClassNodeIt, v, g, Graph::T_CLASS) std::cout << v << " "; std::cout << std::endl; std::cout << "Nodes in S:" << std::endl; - FOR_EACH_INC_LOC(Graph::ClassNodeIt, v, g, g.S_CLASS) std::cout << v << " "; + FOR_EACH_INC_LOC(Graph::ClassNodeIt, v, g, Graph::S_CLASS) std::cout << v << " "; std::cout << std::endl; typedef stGraphWrapper stGW;