Advertisement
kazi_omar

dir_undir

Mar 11th, 2021
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. // input
  2. // 8 9
  3. // 0 3 3
  4. // 0 4 6
  5. // 1 5 5
  6. // 1 6 1
  7. // 2 4 6
  8. // 3 5 8
  9. // 5 6 3
  10. // 5 7 2
  11. // 6 7 6
  12.  
  13. // vector<int> v[9];
  14. // for (int i = 0; i < 9; i++)
  15. // {
  16. //     int x, y;
  17. //     cin >> x >> y;
  18. //     v[x].push_back(y);
  19. // }
  20. // for (int i = 0; i < 7; i++)
  21. // {
  22. //     cout << i << ": ";
  23. //     for (int j = 0; j < v[i].size(); j++)
  24. //     {
  25. //         cout << v[i][j] << " ";
  26. //     }
  27. //     cout << endl;
  28. // }
  29.  
  30. #include <bits/stdc++.h>
  31. using namespace std;
  32. #define PTT pair<int, int>
  33.  
  34. int main()
  35. {
  36.     int vertex, edge;
  37.  
  38.     cin >> vertex >> edge;
  39.     vector<PTT> v1[vertex];
  40.     vector<PTT> v2[vertex];
  41.     int source1, source2;
  42.     for (int i = 0; i < edge; i++)
  43.     {
  44.         PTT p;
  45.         cin >> source1 >> p.first >> p.second;
  46.         v1[source1].push_back(p);
  47.         v2[source1].push_back(p);
  48.  
  49.         source2 = p.first;
  50.         p.first = source1;
  51.         v2[source2].push_back(p);
  52.     }
  53.     cout << "directed graph: " << endl;
  54.     for (int i = 0; i < vertex; i++)
  55.     {
  56.         cout << i << "-->"
  57.              << " ";
  58.         for (int j = 0; j < v1[i].size(); j++)
  59.         {
  60.             cout << v1[i][j].first << " = " << v1[i][j].second;
  61.             if (j != v1[i].size() - 1)
  62.             {
  63.                 cout << " , " << i << "-->";
  64.             }
  65.         }
  66.         cout << endl;
  67.     }
  68.     cout << "undirected graph: " << endl;
  69.     for (int i = 0; i < vertex; i++)
  70.     {
  71.         cout << i << "-->"
  72.              << " ";
  73.         for (int j = 0; j < v2[i].size(); j++)
  74.         {
  75.             cout << v2[i][j].first << " = " << v2[i][j].second;
  76.             if (j != v2[i].size() - 1)
  77.             {
  78.                 cout << " , " << i << "-->";
  79.             }
  80.         }
  81.         cout << endl;
  82.     }
  83.  
  84.     return 0;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement