Cod sursa(job #2509757)

Utilizator leru007Leru Ursu leru007 Data 14 decembrie 2019 18:37:22
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
#define ll long long
#define nmax 200005
#define pb push_back
using namespace std;
ll mod=1e9+7,i,j;
bool viz[100005];
vector<ll> nod[100005];
ll n,m,x,y;
void dfs(ll a){
    viz[a]=true;
    for(unsigned int i=0;i<nod[a].size();i++){
        ll vecin=nod[a][i];
        if(viz[vecin]==0) {
                dfs(vecin);
                }
    }
}
int main(){
    ifstream fin("dfs.in");
    ofstream fout("dfs.out");
    fin>>n>>m;
    for(i=1;i<=m;i++){
        fin>>x>>y;
        nod[x].pb(y);
        nod[y].pb(x);
    }
    ll ans=0;
    for(i=1;i<=n;i++){
        if(viz[i]==0){
            ans++;
            dfs(i);
        }
    }
    fout<<ans;
    return 0;
}