Advertisement
Almetov_Kamil

DFS and vseros

Oct 17th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.57 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. typedef long long ll;
  5.  
  6. map <ll, vector <ll> > a; // все вершины и для каждой список вершин, куда можно попасть
  7. map <ll, bool> visited; // массив уже посещенных вершин
  8.  
  9. //void dfs (ll s) {
  10. //    if (visited[s]) return;
  11. //    visited[s] = true;
  12. //    for (ll i = 0; i < a[s].size(); ++i) {
  13. //        dfs(a[s][i]);
  14. //    }
  15. //}
  16. ll k;
  17. bool cmp(vector <ll> a, vector <ll> b) {
  18.    for (ll i = 0; i < k; ++i) {
  19.        if (i >= a.size() || i >= b.size()) return a.size()<b.size();
  20.        if (a[i] != b[i]) return a[i] < b[i];
  21.    }
  22.  
  23. }
  24.  
  25. int main()
  26. {
  27.     ios::sync_with_stdio(0);
  28.     cin.tie(0);
  29.     ll n, m; //количество вершин
  30.     cin >> n >> m;
  31.  
  32.     ll c1, c2; // из 1 есть дорога в 2
  33.  
  34.     for (ll i = 0; i < m; ++i) {
  35.         cin >> c1 >> c2;
  36.         a[c1].push_back(c2);
  37.         a[c2].push_back(c1);
  38.         visited[c1] = false;
  39.         visited[c2] = false;
  40.     }
  41.  
  42.     cin >> k;
  43.     ll tmp;
  44.     vector <ll> b[k];
  45.     for (ll i = 0; i < k; ++i) {
  46.         cin >> tmp;
  47.         while (tmp != 0) {
  48.             b[i].push_back(tmp);
  49.             cin >> tmp;
  50.         }
  51.     }
  52.     for (ll i = 0; i < k; ++i) {
  53.         if (b[i][0] > b[i][b[i].size()-1]) {
  54.             reverse(b[i].begin(), b[i].end());
  55.         }
  56.     }
  57.     sort(b, b+k, cmp);
  58.     for (ll i = 0; i < k; ++i) {
  59.         for (ll j = 0; j < b[i].size(); ++j) {
  60.             cout << b[i][j] << " ";
  61.         } cout << "\n";
  62.     }
  63.     //dfs();
  64.  
  65.     return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement