Pagini recente » Cod sursa (job #700711) | Cod sursa (job #2033690) | Cod sursa (job #594241) | Cod sursa (job #2587942) | Cod sursa (job #2666511)
#include <iostream>
#include <vector>
#include <fstream>
#include <set>
using namespace std;
vector<set<int>> g(100001);
vector<int> visited(100001);
int components;
void dfs(int node) {
visited[node] = 1;
for (auto& n : g[node]) {
if (!visited[n]) {
dfs(n);
}
}
}
int main()
{
ifstream in("dfs.in");
ofstream out("dfs.out");
int n, m;
in >> n >> m;
int a, b;
for (int i = 1; i <= m; ++i) {
in >> a >> b;
g[a].insert(b);
g[b].insert(a);
}
for (int i = 1; i <= n; ++i) {
if (!visited[i]) {
components++;
dfs(i);
}
}
out << components;
}