Cod sursa(job #768646)

Utilizator SymbolicLayerCostache Adrian SymbolicLayer Data 17 iulie 2012 15:56:40
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
# include <fstream>

using namespace std;

ifstream f("dfs.in");
ofstream g("dfs.out");

int N,M,A[1001][1001],viz[1001],c;

void citire()
{
f>>N>>M;
int x,y,i;
for (i=1;i<=M;i++)
{
f>>x>>y;
A[x][y]=A[y][x]=1;
}
f.close();
}

void DFS(int x)
{
viz[x]=1;
for (int i=1; i<=N; i++)
if(A[x][i]==1 && viz[i]==0)
DFS(i);
}

int main()
{
citire();
int i;
for (i=1;i<=N;i++)
if(viz[i]==0)
{
c++;
DFS(i);
}
g<<c;
g.close();
return 0;
}