Pagini recente » Cod sursa (job #1168379) | Cod sursa (job #2214877) | Cod sursa (job #2849717) | Cod sursa (job #610082) | Cod sursa (job #2534794)
#include <fstream>
#include <vector>
std::ifstream f("dfs.in");
std::ofstream g("dfs.out");
const int NMAX = 100'005;
int n,m,componente,x,y;
bool visited[NMAX];
std::vector<int>L[NMAX];
void dfs(int nod){
visited[nod] = true;
for(int vecin : L[nod])
if(!visited[vecin])
dfs(vecin);
}
int main(){
f >> n >> m;
for(int i = 1;i <= m;++i){
f >> x >> y;
L[x].push_back(y);
L[y].push_back(x);
}
for(int nod = 1;nod <= n;++nod){
if(!visited[nod]){
dfs(nod);
componente++;
}
}
g << componente;
return 0;
}