Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. for (int i=0; i<n; i++)
  2.                             for (int j=i+1; j<n; j++) {
  3.                                 graph_traits<Graph>::out_edge_iterator e_start, e_end,
  4.                                     e_start2, e_end2;;
  5.                                 boost::tie(e_start, e_end) = boost::edge_range(i,j,g);
  6.                                 // check if an edge exists
  7.                                 if (e_start == e_end) continue;
  8.                                 boost::tie(e_start2, e_end2) = boost::edge_range(j,i,g);
  9.                                 // set reverse edge, set its capacity to be zero
  10.                                 g[*e_start].rev = *(--e_end2);
  11.                                 g[*e_start2].rev = *(--e_end);
  12.                                 g[*e_start].capacity = xval[i][j];
  13.                                 g[*e_start].res_capacity = xval[i][j];
  14.                                 g[*e_start2].capacity = xval[i][j];
  15.                                 g[*e_start2].res_capacity = xval[i][j];
  16.                                 // now end points to the second parallel edge
  17.                                 g[*e_end].capacity = 0;
  18.                                 g[*e_end].res_capacity = 0;
  19.                                 g[*e_end2].capacity = 0;
  20.                                 g[*e_end2].res_capacity = 0;
  21.                             }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement