Pagini recente » Cod sursa (job #3333796) | Monitorul de evaluare | Cod sursa (job #2178181) | Borderou de evaluare (job #544390) | Cod sursa (job #3335752)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
const int nmax = 10e5;
int n, m;
vector< int > adj[nmax + 1];
void citire() {
fin >> n >> m;
for(int i = 1; i<= m; i ++) {
int x, y;
fin >> x >> y;
adj[x].push_back(y);
adj[y].push_back(x);
}
}
int viz[nmax + 1];
void dfs(int u) {
viz[u] = 1;
for (auto &v : adj[u]) {
if (viz[v] == 1)
continue;
dfs(v);
}
}
int main() {
citire();
int sol = 0;
for(int i = 1; i <= n; i ++) {
if(viz[i] == 0) {
sol = sol + 1;
dfs(i);
}
}
fout << sol;
exit(0);
}