Pagini recente » Cod sursa (job #1113539) | Cod sursa (job #469444) | Cod sursa (job #2477165) | Cod sursa (job #366679) | Cod sursa (job #1483779)
#include <fstream>
#include <vector>
int v[100020];
std::vector<int> g[100020];
void dfs(int i){
v[i] = 1;
for (auto d : g[i]){
if (!v[d]) dfs(d);
}
}
int main(){
std::ifstream f("dfs.in");
std::ofstream c("dfs.out");
int a, b, n, m, Nr = 0;
f >> n >> m;
for (int i = 0; i < m; ++i) { f >> a >> b; g[a].push_back(b); g[b].push_back(a); }
for (int i = 1; i <= n; ++i)
if (!v[i]){ Nr++; dfs(i); }
c << Nr << '\n';
return 0;
}