Pagini recente » Statistici Gramisteanu Adrian (adria5n) | Autentificare | Statistici Claudiu Epure (cllaude04) | Cod sursa (job #3367519) | Cod sursa (job #3367517)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n, m, cnt, viz[100005];
vector<vector<int>> adj;
vector<int> sources;
vector<pair<int, int>> dist;
void DFS(int n) {
viz[n] = 1;
for (int i : adj[n]) {
if (!viz[i])
DFS(i);
}
}
int main() {
fin >> n >> m;
adj.resize(n + 5);
for (int i = 1; i <= m; i++) {
int x, y;
fin >> x >> y;
adj[x].push_back(y);
adj[y].push_back(x);
}
for (int i = 1; i <= n ; i++)
if(!viz[i]) {
cnt++;
DFS(i);
}
fout << cnt << "\n";
return 0;
}