Cod sursa(job #764730)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 6 iulie 2012 00:29:19
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <cstdio>
#include <vector>
#define push push_back
#define LE 100600
using namespace std;
vector<int> v[LE];
int n,i,m,nodA,nodB,com,viz[LE],j;
int it;
int dfs (int nod)
{      viz[nod]=1;
int it;
        for(it=0; it<v[nod].size(); ++it)
                if (viz[v[nod][it]]==0)
                        dfs(v[nod][it]);


}
int main()
{
        freopen("dfs.in","r",stdin);
        freopen("dfs.out","w",stdout);
        scanf("%i%i",&n,&m);

        for(i=1; i<=m; ++i) {
                scanf("%i%i",&nodA,&nodB);
                v[nodA].push(nodB);
                v[nodB].push(nodA);
        }



        for(i=1; i<=n; ++i)
                if (viz[i]==0) dfs(i),++com;


        printf("%i",com);


        return 0;
}