Pagini recente » Cod sursa (job #1335828) | Cod sursa (job #2367578)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
int n, m;
ifstream f("dfs.in"); ofstream g("dfs.out");
vector <int> vecini[100005];
int viz[100005];
int comp;
void DFS(int nod, int comp){
int i;
viz[nod] = comp;
for(i = 0; i < vecini[nod].size(); ++i) {
if(!viz[vecini[nod][i]]) {
DFS(vecini[nod][i],comp);
}
}
}
int main() {
int i,x,y;
f>>n>>m;
for(i = 1; i <= m; ++i) {
f>>x>>y;
vecini[x].push_back(y);
vecini[y].push_back(x);
}
comp = 0;
for(i = 1; i <= n; ++i) {
if(!viz[i]) {
++comp;
DFS(i,comp);
}
}
g<<comp;
return 0;
}