minimario

Untitled

Jun 16th, 2015
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.75 KB | None | 0 0
  1. #define pb push_back
  2. #include <vector>
  3. #include <string>
  4. #include <sstream>
  5. #include <algorithm>
  6. #include <iostream>
  7. using namespace std;
  8.  
  9. bool visited[100005];
  10. vector< vector<int> > g;
  11.  
  12. int dfs(int start) {
  13.     if (!visited[start]) {
  14.         visited[start] = 1;
  15.         for (int i=0; i < g[start].size(); i++) {
  16.             dfs(g[start][i]);
  17.         }
  18.     }
  19.     return 0;
  20. }
  21.  
  22.  
  23. int main() {
  24.     int x;
  25.     cin >> x;
  26.     for (int i=0; i < x; i++) {
  27.        
  28.         memset(visited, 0, sizeof(visited));
  29.         int a, b;
  30.         cin >> a >> b;
  31.         for (int j=0; j < b; j++) {
  32.             int u, v;
  33.             cin >> u >> v;
  34.             g[u].pb(v);
  35.             g[v].pb(u);
  36.         }
  37.  
  38.         int comp = 0;
  39.         for (int k=0; k < a; k++) {
  40.             if (!visited[k]) {
  41.                 comp += 1;
  42.                 dfs(k);
  43.             }
  44.         }
  45.  
  46.         cout << comp << endl;
  47.  
  48.     }
  49.     system("pause");
  50. }
Advertisement
Add Comment
Please, Sign In to add comment