Cod sursa(job #2095570)

Utilizator aeromaniaXRadoi Iulian aeromaniaX Data 27 decembrie 2017 18:14:39
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>
using namespace std;
int n,ap[100002],m,nr,x,y;

vector <int> G[100002];

void dfs(int n)
{
    ap[n]=1;
    for(int i=0;i<G[n].size();i++)
    {
        if(ap[G[n][i]]==0)
            dfs(G[n][i]);
    }
}
int main()
{
    freopen("dfs.in","r",stdin);
    freopen("dfs.out","w",stdout);
    scanf("%d%d",&n,&m);

    for(int i=1;i<=m;i++){
        scanf("%d%d",&x,&y);
        G[x].push_back(y);
        G[y].push_back(x);
    }
    for(int i=1;i<=n;i++)
        if(ap[i]==0)
    {
            nr++;
            dfs(i);
    }
    printf("%d\n",nr);


    return 0;
}