Pagini recente » Cod sursa (job #2711419) | Cod sursa (job #2202213) | Cod sursa (job #3272476) | Cod sursa (job #332377) | Cod sursa (job #1116521)
#include <iostream>
#include <fstream>
#include <vector>
#define nmax 200000
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int n,m,a,b,i,con;
vector <int> v[nmax];
int viz[nmax];
void dfs(int x){
int j;
for (j=0; j<v[x].size(); j++)
if (!viz[v[x][j]]){
viz[v[x][j]]=1;
dfs(v[x][j]);
}
}
int main(){
in >> n >> m;
for (i=1; i<=m; i++){
in >> a >> b;
v[a].push_back(b);
v[b].push_back(a);
}
for (i=1; i<=n; i++){
if (!viz[i]){
con++;
viz[i]=1;
dfs(i);
}
}
out << con << "\n";
return 0;
}