Cod sursa(job #1775964)
Utilizator | Data | 10 octombrie 2016 20:38:58 | |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <bits/stdc++.h>
using namespace std;
int a[1005][1005], n , m, viz[1005],cnt;
void DFS(int nod)
{
int i;
viz[nod] = 1;
for(int i = 1;i<=n;i++) if(!viz[i] && a[nod][i]) DFS(i);
}
int main()
{
ifstream fin("dfs.in");
ofstream fout("dfs.out");
fin >> n >> m;
int x,y;
for(int i = 1;i<=m;i++)
{
fin >> x >> y;
a[x][y] = a[y][x] = 1;
}
for(int i = 1;i<=n;i++) if(!viz[i]) cnt++,DFS(i);
fout << cnt;
return 0;
}