Pagini recente » Cod sursa (job #2049431) | Cod sursa (job #1483139) | Cod sursa (job #2216971) | Cod sursa (job #1806289) | Cod sursa (job #427612)
Cod sursa(job #427612)
#include <iostream>
#include <cstring>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
void open(){
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
}
#define MAXN 100010
#define pb push_back
#define sz size()
int n,m,a,b,ans;
vector<int>g[MAXN];
bool used[MAXN];
void dfs(int a){
used[a]=1;
for (vector<int>::iterator it=g[a].begin();it!=g[a].end();it++){
if (used[*it]) continue;
dfs(*it);
}
}
int main(){
open();
scanf("%d%d",&n,&m);
for (int i=0;i<m;i++){
scanf("%d%d",&a,&b);
g[a].pb(b);
g[b].pb(a);
}
ans=0;
for (int i=1;i<=n;i++){
if (used[i]) continue;
ans++;
dfs(i);
}
printf("%d\n",ans);
return 0;
}