Cod sursa(job #1237376)
Utilizator | Crivat Victor victor_crivat | Data | 3 octombrie 2014 22:17:33 |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <fstream>
using namespace std;
int i,j,nrc,a[1000][1000],sel[1000],x,y,n,m;
ifstream f("dfs.in");
ofstream g("dfs.out");
void dfs(int x)
{
int i;
sel[x]=true;
for (i=1;i<=n;i++) if (a[x][i]==1&&!sel[i]) dfs(i);
}
int main()
{f>>n;f>>m;
for (i=1;i<=m;i++)
{f>>x>>y;
a[x][y]=1;
a[y][x]=1;
}
nrc=0;
for (i=1;i<=n;i++)
if (!sel[i]){dfs(i);
nrc++;}
g<<nrc;
}