Pagini recente » Istoria paginii utilizator/kiddu_girl | Cod sursa (job #2020579) | Cod sursa (job #198985) | Istoria paginii utilizator/kiddu_girl | Cod sursa (job #2001445)
#include <iostream>
#include <fstream>
#include <vector>
std::ifstream fin("dfs.in");
std::ofstream fout("dfs.out");
const int DIM = 100001;
std::vector<int> vecin[DIM];
int vizitat[DIM], tata[DIM], nrComp;
void DFS(int s){
vizitat[s] = 1;
for(auto j : vecin[s]){
if(!vizitat[j]){
tata[j] = s;
DFS(j);
}
}
}
int main(){
int n, m;
fin>>n>>m;
for(int i = 1 ; i <= m ; i++){
int x, y;
fin>>x>>y;
vecin[x].push_back(y);
vecin[y].push_back(x);
}
for(int i = 1 ; i <= n ; i++){
if(!vizitat[i]){
nrComp++;
DFS(i);
}
}
fout<<nrComp<<"\n";
return 0;
}