Cod sursa(job #307272)

Utilizator raica_cristiraica dumitru cristian raica_cristi Data 23 aprilie 2009 19:48:37
Problema Parcurgere DFS - componente conexe Scor 45
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>
#define dim 1000
long long int el;
char a[dim][dim];
int n,m,i,k;
int viz[dim];
void read()
{
     int x,y;
     scanf("%d%d",&n,&m);
     
     for(i=1;i<=m;i++)
     {
                      scanf("%d%d",&x,&y);
                      a[x][y]=a[y][x]=1;
                      }
}
void dfs(int nod)
{
     viz[nod]=1;
     for(int i=1;i<=n;i++)
                      if(!viz[i] && a[nod][i])
                      dfs(i);
}
int main ()
{
    freopen("dfs.in","r",stdin);
    freopen("dfs.out","w",stdout);
    read();
    for(i=1;i<=n;i++)
    if(!viz[i])
    dfs(i),el++;

    printf("%d\n",el);
  /*  for(i=1;i<=n;i++,printf("\n"))
    for(k=1;k<=n;k++)
    printf("%d",a[i][k]);
    */
    return 0;
}