Cod sursa(job #286871)
Utilizator | Andrei Sofian dReaMer | Data | 24 martie 2009 11:45:50 |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
# include <stdio.h>
int s[100000],n,a[10000][10000],m;
void citire(){
int i,j;
scanf("%d",&n);
for(i=1;i<m;i++)
for(j=1;j<m;j++){
scanf("%d%d",&i,&j);
a[i][j]=a[j][i]=1;
}
}
void dfs(int x){
s[x]=1;
for(int i=1;i<=n;i++)
if(a[x][i] && s[i]==0)
dfs(i);
}
int nr_c(){
int k=0;
for(int i=1;i<=n;i++)
if(!s[i]){
dfs(i);
k++;
}
return k;
}
int main(){
freopen("grafconex.in","r",stdin);
freopen("grafconex.out","w",stdout);
citire();
printf("%d",nr_c());
return 0;
}