jasonpogi1669

Transport Tracer Graph Problem (Print Data) using C++

May 25th, 2021 (edited)
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. /**
  6.  
  7.     Sample Input:
  8.  
  9.     4
  10.     JUU 2
  11.     JFK 3
  12.     JER 3
  13.     JRU 2
  14.     JFK 2 JER 3
  15.     JUU 2 JER 1 JRU 18
  16.     JUU 3 JFK 1 JRU 3
  17.     JFK 18 JER 3
  18.     JUU JRU
  19.  
  20. */
  21.  
  22. vector<vector<int>> a;
  23. vector<vector<int>> cost;
  24. vector<string> country;
  25. vector<int> connected;
  26.  
  27. int Convert(string s) {
  28.     for (int i = 0; i < (int) country.size(); i++) {
  29.         if (s == country[i]) {
  30.             return i;
  31.         }
  32.     }
  33. }
  34.  
  35. int main() {
  36.     int n;
  37.     cin >> n;
  38.     country = vector<string>(n);
  39.     connected = vector<int>(n);
  40.     for (int i = 0; i < n; i++) {
  41.         cin >> country[i] >> connected[i];
  42.     }
  43.     a = vector<vector<int>>(n);
  44.     cost = vector<vector<int>>(n, vector<int>(n, 0));
  45.     for (int u = 0; u < n; u++) {
  46.         for (int j = 0; j < (int) connected[u]; j++) {
  47.             string name;
  48.             int weight;
  49.             cin >> name >> weight;
  50.             int v = Convert(name);
  51.             a[u].emplace_back(v);
  52.             cost[u][v] = weight;
  53.         }
  54.     }
  55.     string start, end;
  56.     cin >> start >> end;
  57.     cout << "\nConnected Cities\n";
  58.     for (int u = 0; u < n; u++) {
  59.         cout << u << " : " << country[u];
  60.         for (int v = 0; v < (int) a[u].size(); v++) {
  61.             cout << " -> " << a[u][v] << " : " << country[a[u][v]];
  62.         }
  63.         cout << '\n';
  64.     }
  65.     cout << "\nCost of Travel\n";
  66.     for (int u = 0; u < n; u++) {
  67.         cout << '\t' << u;
  68.     }
  69.     cout << '\n';
  70.     for (int u = 0; u < n; u++) {
  71.         cout << u;
  72.         for (int v = 0; v < n; v++) {
  73.             cout << '\t' << cost[u][v];
  74.         }
  75.         cout << '\n';
  76.     }
  77.     return 0;
  78. }
  79.  
Add Comment
Please, Sign In to add comment