Cod sursa(job #347791)

Utilizator miticaMitica mitica Data 13 septembrie 2009 13:00:36
Problema Parcurgere DFS - componente conexe Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <stdio.h>

int n,m,x,y,a[100005][35],p,nc,vb,v[100005],i;

void DF(int k)
{
     int i;
     v[k]=1;
     for (i=1;i<=a[k][0];i++)
         if (!v[a[k][i]])
            DF(a[k][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);
             a[x][0]++;
             a[x][a[x][0]]=y;
             a[y][0]++;
             a[y][a[y][0]]=x;
        }     
    for (i=1;i<=n;i++)
        if (!v[i])
           {
                  nc++;
                  DF(i);
           }
    printf("%d", nc);
    return 0;
}