Changeset 30:10a3f2e0928c in lemon-0.x for src/work/proba.cc
- Timestamp:
- 01/21/04 15:51:05 (21 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@43
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/work/proba.cc
r23 r30 9 9 #include <preflow_push_max_flow.hh> 10 10 #include <reverse_bfs.hh> 11 //#include <dijkstra.hh> 11 12 12 13 using namespace marci; … … 25 26 list_graph flow_test; 26 27 27 / /Ahuja könyv példája, maxflowvalue=1328 /* //Ahuja könyv példája, maxflowvalue=13 28 29 node_iterator s=flow_test.add_node(); 29 30 node_iterator v1=flow_test.add_node(); … … 46 47 edge_iterator s_v2=flow_test.add_edge(s, v2); 47 48 edge_iterator s_v3=flow_test.add_edge(s, v3); 48 49 49 edge_iterator v2_v4=flow_test.add_edge(v2, v4); 50 50 edge_iterator v2_v5=flow_test.add_edge(v2, v5); 51 52 51 edge_iterator v3_v5=flow_test.add_edge(v3, v5); 53 54 52 edge_iterator v4_t=flow_test.add_edge(v4, t); 55 53 edge_iterator v5_t=flow_test.add_edge(v5, t); 54 edge_iterator v2_s=flow_test.add_edge(v2, s); 56 55 57 56 edge_property_vector<list_graph, int> cap(flow_test); … … 64 63 cap.put(v4_t, 8); 65 64 cap.put(v5_t, 8); 66 65 cap.put(v2_s, 0); 66 */ 67 67 68 68 69 69 //Marci példája, maxflowvalue=23 70 /*node_iterator s=flow_test.add_node();70 node_iterator s=flow_test.add_node(); 71 71 node_iterator v1=flow_test.add_node(); 72 72 node_iterator v2=flow_test.add_node(); … … 98 98 edge_iterator v3_v3=flow_test.add_edge(v3, v3); 99 99 edge_iterator s_w=flow_test.add_edge(s, w); 100 edge_iterator v2_s=flow_test.add_edge(v2, s); 100 101 101 102 … … 114 115 cap.put(v3_v3, 4); 115 116 cap.put(s_w, 4); 116 */117 cap.put(v2_s, 0); 117 118 118 119 … … 156 157 bfs_test.run(); 157 158 158 for (each_node_iterator w=flow_test.first_node(); w. is_valid(); ++w) {159 for (each_node_iterator w=flow_test.first_node(); w.valid(); ++w) { 159 160 std::cout <<"The distance of " << w << " is " << bfs_test.dist(w) <<std::endl; 160 161 } … … 175 176 176 177 edge_property_vector<list_graph, int> flow=preflow_push_test.allflow(); 177 for (each_edge_iterator e=flow_test.first_edge(); e. is_valid(); ++e) {178 for (each_edge_iterator e=flow_test.first_edge(); e.valid(); ++e) { 178 179 std::cout <<"Flow on edge " << flow_test.tail(e) <<"-" << flow_test.head(e)<< " is " <<flow.get(e) <<std::endl; 179 180 } … … 182 183 node_property_vector<list_graph, bool> mincut=preflow_push_test.mincut(); 183 184 184 for (each_node_iterator v=flow_test.first_node(); v. is_valid(); ++v) {185 for (each_node_iterator v=flow_test.first_node(); v.valid(); ++v) { 185 186 if (mincut.get(v)) std::cout <<node_name.get(v)<< " "; 186 187 } … … 202 203 node_property_vector<list_graph, bool> mincut2=max_flow_test.mincut(); 203 204 204 for (each_node_iterator v=flow_test.first_node(); v. is_valid(); ++v) {205 for (each_node_iterator v=flow_test.first_node(); v.valid(); ++v) { 205 206 if (mincut2.get(v)) std::cout <<node_name.get(v)<< " "; 206 207 } … … 210 211 211 212 213 // std::cout << "Testing dijkstra..." << std::endl; 214 215 // dijkstra<list_graph, int> dijkstra_test(flow_test, s, cap); 216 217 // dijkstra_test.run(); 218 219 // for (each_node_iterator w=flow_test.first_node(); w.valid(); ++w) { 220 // std::cout <<"The distance of " << w << " is " << dijkstra_test.dist(w) <<std::endl; 221 // } 222 223 224 225 212 226 return 0; 213 227 }
Note: See TracChangeset
for help on using the changeset viewer.