Pagini recente » Cod sursa (job #2661938) | Cod sursa (job #2577867) | Cod sursa (job #1752525) | Cod sursa (job #3232284) | Cod sursa (job #2488857)
#include <bits/stdc++.h>
const int MAX_N = 100005;
int n, m;
std::vector <int> g[MAX_N];
std::vector <bool> visited(MAX_N);
void dfs(int u) {
visited[u] = 1;
for (int v : g[u]) {
if (visited[v] == 0) {
dfs(v);
}
}
}
int main() {
int u, v, cnt =0;
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
scanf("%d %d", &n, &m);
while (m --) {
scanf("%d %d", &u, &v);
g[u].push_back(v);
g[v].push_back(u);
}
for (int i = 1; i <= n; ++i) {
if (visited[i] == 0) {
dfs(i);
++cnt;
}
}
printf("%d\n", cnt);
return 0;
}