Cod sursa(job #651164)

Utilizator PetroiuDorinPetroiu Dorin ALexandru PetroiuDorin Data 19 decembrie 2011 23:17:26
Problema Parcurgere DFS - componente conexe Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>
#define N 100001
struct Nod {int nod;
            Nod *next;};
int n,m,a,b,v[N],c,cont;
Nod *vect[N];

void parc_DFS(int nod)
{v[nod]=1;
Nod *q=vect[nod];
do
{if(!v[q->nod])
   parc_DFS(q->nod);
 q=q->next;}
while(q);}

int main()
{
scanf("%d%d", &n, &m);
for(cont=1;cont<=m;++cont)
  {Nod *q=new Nod;
   scanf("%d%d",&a, &b);
   q->nod=b;
   q->next=vect[a];
   vect[a]=q;
   q=new Nod;
   q->nod=a;
   q->next=vect[b];
   vect[b]=q;
  }
for(cont=1;cont<=n;++cont)
   if(v[cont]!=0)
     {c++;
      parc_DFS(cont);}
printf("%d",c);
return 0;}