Cod sursa(job #1316861)

Utilizator Walrus21andrei Walrus21 Data 14 ianuarie 2015 11:32:32
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>
#include <vector>
#define mN 100001

using namespace std;

int i,N,M,X,Y,c; bool b[mN];
vector <int> v[mN];

void df(int vs)
{
     for(int i=0;i<v[vs].size();i++)
      if(!b[v[vs][i]]) {b[v[vs][i]]=1; df(v[vs][i]);}
}

int main()
{
    freopen("dfs.in","r",stdin);
    freopen("dfs.out","w",stdout);
    scanf("%d%d",&N,&M);
    for(i=1;i<=M;i++)
    {
        scanf("%d%d",&X,&Y);
        v[X].push_back(Y);
        v[Y].push_back(X);
    }
    for(i=1;i<=N;i++)
     if(!b[i]) {df(i); c++;}
    printf("%d",c);
    return 0;
}