Pagini recente » Cod sursa (job #607336) | Cod sursa (job #3135451) | Rating Duta Marius (misterdutamarius) | Cod sursa (job #310334) | Cod sursa (job #2369811)
#include <bits/stdc++.h>
using namespace std;
#ifdef HOME
#define f cin
#define g cout
#else
ifstream f("dfs.in");
ofstream g("dfs.out");
#endif // HOME
const int MAXN = 1e5 + 10;
vector< int > gr[MAXN];
bool viz[MAXN];
void dfs(int node) {
viz[node] = true;
for(auto &x : gr[node]) if(!viz[x]) dfs(x);
}
int main () {
#ifdef HOME
freopen("input", "r", stdin);
#endif // HOME
int n, m;
f >> n >> m;
for(int i = 1; i <= m; ++i) {
int a, b;
f >> a >> b;
gr[a].emplace_back(b);
gr[b].emplace_back(a);
}
int ans = 0;
for(int i = 1; i <= n; ++i) {
if(!viz[i]) {
++ans;
dfs(i);
}
}
g << ans;
return 0;
}