irapilguy

Непонятная дичь

Nov 17th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4. #define N 50000
  5. vector<int> a[N];
  6. int users[N];
  7. int n;
  8.  void dfs(int v, int countt) {
  9.     users[v] = countt;
  10.     for (int j = 1; j <= a[v].size() ; j++) {
  11.         if (users[j] == 0) {
  12.             users[j] = countt;
  13.             dfs(j, countt);
  14.         }
  15.  
  16.     }
  17. }
  18. int main() {
  19.     int n, m;
  20.     cin >> n >> m;
  21.     int countt = 1;
  22.     for (int i = 0; i < m; i++) {
  23.         int a1, a2;
  24.         cin >> a1 >> a2;
  25.         a[a1].push_back(a2);
  26.         a[a2].push_back(a1);
  27.     }
  28.     for (int i = 0; i < n; i++){
  29.         if (users[i] == 0) dfs(i, countt);
  30.     countt++;
  31.     }
  32.     cout << countt << "\n";
  33.     int k = 1;
  34.     for (int i = 0; i < countt; i++) {
  35.         for (int j = 0; i < n; i++) {
  36.             if (users[j] == k) cout << j << " ";
  37.         }
  38.         cout << endl;
  39.         k++;
  40.     }
  41.     return 0;
  42. }
Add Comment
Please, Sign In to add comment