Cod sursa(job #661096)

Utilizator Ifm-6Ilie Madalina Ifm-6 Data 13 ianuarie 2012 19:42:36
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include<stdio.h>

int n,m,conex, viz[100005];

typedef struct nod { int info;
                     nod *next;} pnod;

pnod *g[100005], *a;

void DFs(int nod)
{pnod *a;
viz[nod]=1;    
a=g[nod];
while (a!=NULL)
    {if (viz[a->info]==0) DFs(a->info);
    a=a->next;
}
}

int main() 
{   int i,x,y;
  
FILE* f=fopen("dfs.in", "r");
fscanf (f,"%d %d", &n,&m);
for (i=1;i<=m;i++) {
       fscanf(f,"%d %d", &x, &y);
       a=new nod;
       a->info=y;
       a->next=g[x];
       g[x]=a; 
       
       a=new nod;
       a->info=x;
       a->next=g[y];
       g[y]=a;
       }
       fclose(f);
for (i=1;i<=n;i++)
    if (viz[i]==0)  {
                    conex++; 
                    DFs(i);}
FILE* g=fopen("dfs.out", "w+");
fprintf (g,"componente conexe %d",conex);
fclose(g);
return 0;
}