Pagini recente » Cod sursa (job #2989058) | Cod sursa (job #1281921) | Cod sursa (job #668870) | Cod sursa (job #896827) | Cod sursa (job #2777192)
#include <list>
#include <vector>
#include <fstream>
#include <bitset>
constexpr int N = 1e5;
std::list<int> g[N];
std::bitset<N> vis;
void dfs(int x) {
vis[x] = 1;
for (auto y: g[x]) {
vis[y] || (dfs(y), true);
}
}
int main() {
std::ifstream in("dfs.in");
std::ofstream out("dfs.out");
int n, m;
in >> n >> m;
for (int i = 0; i < m; ++i) {
int a, b;
in >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
int nc = 0;
for (int i = 0; i < n; ++i) {
if (!vis[i]) {
++nc;
dfs(i);
}
}
out << nc << '\n';
}