Pagini recente » Cod sursa (job #773908) | Cod sursa (job #2216422) | Cod sursa (job #279206) | Cod sursa (job #344020) | Cod sursa (job #2843010)
#include <iostream>
#include <vector>
typedef long long ll;
using namespace std;
void dfs(vector<vector<ll>> &matrix, vector<bool> &visited, int current) {
visited[current] = true;
for (ll &el : matrix[current]) {
if (!visited[el]) {
dfs(matrix, visited, el);
}
}
}
int main() {
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
ll n, m;
cin >> n >> m;
vector<vector<ll>> matrix(n + 1, vector<ll>());
vector<bool> visited(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] == false) {
visited[i] = true;
solve++;
dfs(matrix, visited, i);
}
}
cout << solve << endl;
return 0;
}