Advertisement
spider68

dfs total component

Jul 27th, 2020
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;;
  3.  
  4. vector<int> v[10001];
  5. bool vis[10001];
  6.  
  7. void dfs(int src){
  8.         vis[src]=true;
  9.         int i;
  10.         for(i=0; i<v[src].size();i++){
  11.             if(vis[v[src][i]] == false){
  12.                 dfs(v[src][i]);
  13.             }
  14.         }
  15. }
  16.  
  17. int main(){
  18.     int n,m,a,b;
  19.     cin>>n>>m;
  20.     while(m--){
  21.         cin>>a>>b;
  22.         v[a].push_back(b);
  23.         v[b].push_back(a);
  24.     }
  25.     memset(vis,false,sizeof(vis));
  26.     int cnt=0;
  27.     for(int i=1;i<=n;i++){
  28.         if(vis[i]==false){
  29.             dfs(i);
  30.             cnt++;
  31.         }
  32.     }
  33.  
  34.     cout<<cnt-1<<"\n";
  35. }
  36.  
  37.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement