Cod sursa(job #385115)
| Utilizator | Data | 22 ianuarie 2010 08:25:37 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | lucrare_xi_d | Marime | 0.44 kb |
#include<iostream.h>
#include<fstream.h>
ifstream f("dfs.in");
ofstream g("dfs.out");
int i,viz[50],a[50][50],nr=1,n,m;
void citire(){
int i,j,k;
f>>n>>m;
for (k=1;k<=m;k++)
a[i][j]=a[j][i]=1;
}
void df(int x){
int i;
viz[x]=nr;
for (i=1;i<=n;i++)
if (a[i][x] && !viz[i])
df(i);
}
int main(){
citire();
for (i=1;i<=n;i++)
if (!viz[i])
{nr++;
df(i);
}
g<<nr<<"componente";
return 0;
}