Cod sursa(job #631938)
Utilizator | Stefan Lache StefanLache | Data | 9 noiembrie 2011 22:26:29 |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include<stdio.h>
int N,M,A[50][50],s[50],nr;
void constr()
{
freopen("date.in","r",stdin);
freopen("date.out","w",stdout);
scanf("%d%d",&N,&M);
int i,j;
while(scanf("%d%d",i,j))
A[i][j]=A[j][i]=1;
}
void DFS(int nod)
{
int i;
s[nod]=1;
for(i=1;i<=N;i++)
if(A[nod][i]==1&&s[i]==0)
DFS(i);
}
int main()
{
constr();int i;
for(i=1;i<=N;i++)
if(!s[i])
{nr++;DFS(i);}
printf("%d",nr);
return 0;
}