Cod sursa(job #2131923)

Utilizator bigmixerVictor Purice bigmixer Data 15 februarie 2018 10:02:57
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <bits/stdc++.h>       // Grandmixer //
#define ll long long
#define sz size
#define pb push_back
#define er erase
#define in insert
#define fr first
#define sc second
#define mp make_pair
#define pi pair
#define _ ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0);
#define rc(s) return cout<<s,0
const int mod=1e9+7;
const int inf=1e5;
using namespace std;

vector<int>g[400005];
int x,y;
int b[400005],m,n;
void DFS(int s){
     b[s]=1;
     for(int i=0;i<g[s].size();i++){
        if(b[g[s][i]]==0) DFS(g[s][i]);

     }

}
int rez;
int main(){
    ifstream fin("dfs.in");
    ofstream fout("dfs.out");
     fin >> n >> m;
     for(int i=1;i<=m;i++){
        fin >> x >> y;
        g[x].push_back(y);
        g[y].push_back(x);

     }
     for(int i=1;i<=n;i++){
        if(b[i]==0) { DFS(i);  rez++;}
     }

     fout<<rez;
}