Advertisement
Guest User

Untitled

a guest
Sep 27th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. #include < boost/config.hpp >
  2.  
  3. #include < boost/graph/mcgregor_common_subgraphs.hpp >
  4.  
  5. #include < boost/graph/adjacency_list.hpp >
  6.  
  7. #include < boost/graph/graph_utility.hpp >
  8.  
  9. #include < boost/graph/lookup_edge.hpp >
  10.  
  11. #include < boost/graph/subgraph.hpp >
  12.  
  13. #include < iostream >
  14.  
  15.  
  16. int main() {
  17. const int N = 6;
  18. enum { A, B, C, D, E, F }; // for conveniently refering to vertices in G0
  19.  
  20. Graph G0(N);
  21. Graph& G1 = G0.create_subgraph();
  22. Graph& G2 = G0.create_subgraph();
  23. Graph& G3 = G0.create_subgraph();
  24. Graph& G4 = G0.create_subgraph();
  25. Graph& G5 = G0.create_subgraph();
  26. Graph& G6 = G0.create_subgraph();
  27. Graph& G7 = G0.create_subgraph();
  28.  
  29. enum { A1, B1, C1 }; // for conveniently refering to vertices in G1
  30. enum { A2, B2 }; // for conveniently refering to vertices in G2
  31. enum { A3, B3 };
  32. enum { A4, B4, C4 };
  33. enum { A5, B5 };
  34. enum { A6, B6, C6 };
  35. enum { A7, B7 };
  36.  
  37. add_vertex(C, G1); // global vertex C becomes local A1 for G1
  38. add_vertex(E, G1); // global vertex E becomes local B1 for G1
  39. add_vertex(F, G1); // global vertex F becomes local C1 for G1
  40.  
  41. add_vertex(A, G2); // global vertex A becomes local A1 for G2
  42. add_vertex(B, G2); // global vertex B becomes local B1 for G2
  43.  
  44. add_vertex(B, G3); // ...-||-...
  45. add_vertex(C, G3);
  46.  
  47. add_vertex(A, G4);
  48. add_vertex(B, G4);
  49. add_vertex(E, G4);
  50.  
  51. add_vertex(F, G5);
  52. add_vertex(D, G5);
  53.  
  54. add_vertex(B, G6);
  55. add_vertex(D, G6);
  56. add_vertex(E, G6);
  57.  
  58. add_vertex(F, G7);
  59. add_vertex(B, G7);
  60. add_vertex(D, G7);
  61.  
  62. add_edge(A, B, G0);
  63. add_edge(B, C, G0);
  64. add_edge(B, D, G0);
  65. add_edge(E, B, G0);
  66. add_edge(E, F, G0);
  67. add_edge(F, D, G0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement