Cod sursa(job #1483773)
| Utilizator | Data | 9 septembrie 2015 21:49:56 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
#include <vector>
int Nr=0;
int v[100000];
std::vector<int> g[100000];
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;
f >> n >> a;
while (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;
}