Pagini recente » Cod sursa (job #355842) | Cod sursa (job #1259069) | Cod sursa (job #1685418) | Cod sursa (job #126906) | Cod sursa (job #2923940)
#pragma region Template
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
#pragma endregion Template
vector<bool> visited;
void dfs(const vector<vector<int>>& adj, const int& curr_node) {
visited[curr_node] = true;
for (auto& curr_vertex : adj[curr_node])
if (!visited[curr_vertex])
dfs(adj, curr_vertex);
}
int main() {
int n, m;
fin >> n >> m;
vector<vector<int>> adj(n);
visited.resize(n);
for (int i = 0; i < m; ++i) {
int x, y;
fin >> x >> y;
--x, --y;
adj[x].push_back(y);
adj[y].push_back(x);
}
int comp_conexe = 0;
for (int i = 0; i < n; ++i) {
if (!visited[i]) {
++comp_conexe;
dfs(adj, i);
}
}
fout << comp_conexe;
return 0;
}