Cod sursa(job #286869)
Utilizator | Data | 24 martie 2009 11:43:41 | |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
# include <stdio.h>
int s[10000],n,a[10000][10000];
void citire(){
int i,j;
scanf("%d",&n);
for(i=1;i<n;i++)
for(j=1;j<n;j++)
scanf("%d",&a[i][j]);
}
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;
}