Pagini recente » Cod sursa (job #2794439) | Cod sursa (job #247832) | Cod sursa (job #2584915) | Cod sursa (job #3215207) | Cod sursa (job #1240148)
#include <iostream>
#define in "dfs.in","r",stdin
#define out "dfs.out","w",stdout
#include <cstdio>
#include <vector>
#define nmax 100009
using namespace std;
int n,m,viz[nmax],nr;
vector<int>G[nmax];
void dfs(int x){
if(!viz[x]){
viz[x]=1;
for(int i = 0 ; i < G[x].size();i++)
dfs(G[x][i]);
}
}
int main(){
int x,y;
freopen(in);
freopen(out);
scanf("%d%d",&n,&m);
while(m--){
scanf("%d%d",&x,&y);
G[x].push_back(y);
G[y].push_back(x);
}
for(int i=1;i<=n;i++)
if(!viz[i]){
nr++;
dfs(i);
}
cout << nr <<'\n';
return 0;
}