Pagini recente » Borderou de evaluare (job #222212) | Borderou de evaluare (job #781650) | Cod sursa (job #608602) | Cod sursa (job #1411400) | Cod sursa (job #2668687)
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
const int max_up = 1e5 + 5;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
vector <int> g[max_up];
vector <bool> verified(max_up, false);
void dfs (int u)
{
verified[u] = true;
for(auto v : g[u])
if(!verified[v])
dfs(v);
}
int main()
{
int n, m; fin >> n >> m;
for(int i = 1; i <= m; ++i) {
int u, v; fin >> u >> v;
g[u].push_back(v);
g[v].push_back(u);
}
int ans = 0;
for(int i = 1; i <= n; ++i) {
if(!verified[i]){
dfs(i);
ans++;
}
}
fout << ans;
return 0;
}