Cod sursa(job #1707065)
| Utilizator | Data | 24 mai 2016 09:02:28 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int a[1005][1005],v[1005],n,m;
void citire()
{int i,x,y;
fin>>n>>m;
for(i=1;i<=m;i++)
{fin>>x>>y;
a[x][y]=a[y][x]=1;
}
}
void df(int s)
{int i;
v[s]=1;
for(i=1;i<=n;i++)
if(a[s][i]==1&&v[i]==0)
df(i);
}
int main()
{int k=0,i;
citire();
for(i=1;i<=n;i++)
if(v[i]==0)
{k++;
df(i);
}
fout<<k;
fin.close();
fout.close();
return 0;
}
