Cod sursa(job #2670988)
| Utilizator | Data | 11 noiembrie 2020 09:14:06 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <fstream>
#define fisier "dfs"
std::ifstream in(fisier ".in");
std::ofstream out(fisier ".out");
const int N = 100001;
#include <vector>
std::vector<int> L[N];
#include <bitset>
std::bitset<N> E;
bool dfs(int t)
{
if (E[t])
return false;
E[t] = true;
for (int f: L[t])
dfs(f);
return true;
}
int main()
{
int n, m, s = 0;
in >> n >> m;
while (m--)
{
int a, b;
in >> a >> b;
L[a].push_back(b);
L[b].push_back(a);
}
for (int i = 1; i <= n; i++)
s += dfs(i);
out << s;
}
