Cod sursa(job #1857085)
Utilizator | Data | 25 ianuarie 2017 19:55:51 | |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int a[10000][10000],viz[10001],m,n;
void DF(int start)
{
viz[start]=1;
for(int i=1;i<=n;i++)
if(viz[i]==0 && a[start][i]==1)
DF(i);
}
int main()
{
int i,x,y,nr=0;
fin>>n>>m;
while(fin>>x>>y)
a[x][y]=a[y][x]=1;
for(i=1;i<=n;i++)
if(viz[i]==0)
{
nr++;
DF(i);
}
fout<<nr;
return 0;
}