Cod sursa(job #2032187)
| Utilizator | Data | 4 octombrie 2017 17:53:08 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
#include <vector>
#define NM 100002
using namespace std;
vector <int> gr[NM];
int n, m, i, a, b, v[NM], nrc;
void dfs(int n)
{
v[n] = 1;
for(auto j:gr[n])
if(v[j] == 0)
dfs(j);
}
int main()
{
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
fin >> n >> m;
for(i = 1; i <= m; i++)
{
fin >> a >> b;
gr[a].push_back(b);
gr[b].push_back(a);
}
for(i = 1; i <= n; i++)
{
if(v[i] == 0)
{
dfs(i);
nrc++;
}
}
fout << nrc;
return 0;
}
