Pagini recente » Cod sursa (job #3335894) | Cod sursa (job #1835393) | Cod sursa (job #1208151) | Cod sursa (job #412408) | Cod sursa (job #3335474)
#include <fstream>
#include <vector>
std::ifstream fin("dfs.in");
std::ofstream fout("dfs.out");
void dfs(int i, std::vector<std::vector<int>>& lista, std::vector<bool>& viz){
viz[i]=true;
for(auto vecin: lista[i]){
if(!viz[vecin]){
dfs(vecin,lista,viz);
}
}
}
int main(){
int n,m;
fin>>n>>m;
std::vector<std::vector<int>>lista(n+1);
for(int i=0;i<m;i++){
int x,y;
fin>>x>>y;
lista[x].push_back(y);
lista[y].push_back(x);
}
std::vector<bool>viz(n+1);
int contor=0;
for(int i=1;i<=n;i++){
if(!viz[i]){
dfs(i,lista,viz);
contor++;
}
}
fout<<contor;
return 0;
}