Pagini recente » Cod sursa (job #1361765) | Cod sursa (job #388500) | Cod sursa (job #280588) | Cod sursa (job #3178910) | Cod sursa (job #1125695)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("dfs.in"); ofstream g("dfs.out");
vector <int> v[100002];
int n,m,viz[100002],ct,nr;
void citire(){
int x,y,i;
f>>n>>m;
for (i=1;i<=m;i++){
f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
}
void dfs(int i){
int k;
for (k=0;k<v[i].size();k++)
if (!viz[v[i][k]]) {
viz[v[i][k]]=ct;
dfs(v[i][k]);
}
}
int main(){
citire();
ct=1;
for (int i=1;i<=n;i++) if (!viz[i]) { viz[i]=ct; nr++; dfs(i); ct++; }
g<<nr;
}