Pagini recente » Cod sursa (job #3358838) | Cod sursa (job #857925) | Cod sursa (job #3318456) | Cod sursa (job #3309803) | Cod sursa (job #3307466)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
void dfs(int node, vector <vector <int>>& edges, vector <int>& vis) {
vis[node] = true;
for (auto it : edges[node]) {
if (!vis[it]) {
dfs(it, edges, vis);
}
}
}
int main()
{
int n, m;
fin >> n >> m;
vector <vector <int>> edges(n + 1);
vector <int> vis(n + 1);
for (int i = 1; i <= m; i++) {
int a, b;
fin >> a >> b;
edges[a].push_back(b);
edges[b].push_back(a);
}
int ans = 0;
for (int i = 1; i <= n; i++) {
if (!vis[i]) {
ans++;
dfs(i, edges, vis);
}
}
fout << ans;
return 0;
}