equal
deleted
inserted
replaced
478 ///on the push-relabel principle. |
478 ///on the push-relabel principle. |
479 template<class Graph> |
479 template<class Graph> |
480 int prBipartiteMatching(const Graph &g) |
480 int prBipartiteMatching(const Graph &g) |
481 { |
481 { |
482 PrBipartiteMatching<Graph> bpm(g); |
482 PrBipartiteMatching<Graph> bpm(g); |
|
483 bpm.run(); |
483 return bpm.matchingSize(); |
484 return bpm.matchingSize(); |
484 } |
485 } |
485 |
486 |
486 ///Maximum cardinality matching in a bipartite graph |
487 ///Maximum cardinality matching in a bipartite graph |
487 |
488 |
547 ///on the push-relabel principle. |
548 ///on the push-relabel principle. |
548 template<class Graph> |
549 template<class Graph> |
549 bool prPerfectBipartiteMatching(const Graph &g) |
550 bool prPerfectBipartiteMatching(const Graph &g) |
550 { |
551 { |
551 PrBipartiteMatching<Graph> bpm(g); |
552 PrBipartiteMatching<Graph> bpm(g); |
552 return bpm.runPerfect(); |
553 bpm.run(); |
|
554 return bpm.checkedRunPerfect(); |
553 } |
555 } |
554 |
556 |
555 ///Perfect matching in a bipartite graph |
557 ///Perfect matching in a bipartite graph |
556 |
558 |
557 ///\ingroup matching |
559 ///\ingroup matching |