Cod sursa(job #513108)
| Utilizator | Data | 15 decembrie 2010 09:12:10 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include<iostream.h>
#include<fstream.h>
int n,m, x, i,y, v[1002],nc=0,j,a[1002][1002];
void df(int x){
int i;
v[x]=1;
for(i=1;i<=n;i++)
if(a[x][i]==1 && v[i]==0)
df(i);
}
int main (){
ifstream f("dfs.in");
ofstream g("dfs.out");
f>>n>>m;
for(i=1;i<=m;i++) {
f>>x>>y;
a[x][y] = a[y][x] = 1;
}
for(i=1;i<=n;i++)
if(v[i]==0){
nc++;
df(i);
}
g<<nc;
f.close();
g.close();
return 0;
}