Pagini recente » preONI 2008 | Cod sursa (job #2058116) | Cod sursa (job #1207199) | Cod sursa (job #979049) | Cod sursa (job #2843009)
#include <iostream>
#include <vector>
typedef long long ll;
using namespace std;
vector<vector<ll> > matrix;
vector<bool> visited;
void dfs(ll current) {
visited[current] = true;
for (auto &el : matrix[current]) {
if (!visited[el]) {
dfs(el);
}
}
}
int main() {
// freopen_s("dfs.in", "r", stdin);
//freopen_s("dfs.out", "w", stdout);
ll n, m;
cin >> n >> m;
matrix.resize(n + 1);
visited.resize(n + 1, false);
for (ll i = 0; i < m; ++i) {
ll a, b;
cin >> a >> b;
matrix[a].push_back(b);
matrix[b].push_back(a);
}
int solve = 0;
for (ll i = 1; i <= n; i++) {
if (!visited[i]) {
solve++;
dfs(i);
}
}
cout << solve << endl;
return 0;
}