Cod sursa(job #622031)
| Utilizator | Data | 17 octombrie 2011 11:09:16 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include<fstream>
using namespace std;
int N,M,A[10001][10001],V[100001],k[100001],nr,X,Y,i;
ifstream f("dfs.in");
ofstream g("dfs.out");
void NFS(int n)
{
V[n]=1;
for(int i=1;i<=k[n];i++)
if(!V[A[n][i]])
NFS(A[n][i]);
}
int main ()
{
f>>N>>M;
for(i=1;i<=M;i++)
{
f>>X>>Y;
A[X][++k[X]]=Y;
A[Y][++k[Y]]=X;
}
for(i=1;i<=N;i++)
if(!V[i])
{
nr++;
NFS(i);
}
g<<nr;
}
