Pagini recente » Cod sursa (job #183779) | Cod sursa (job #293863) | Cod sursa (job #3222840) | Cod sursa (job #2303886) | Cod sursa (job #1009849)
#include <stdio.h>
#include <vector>
#define fr(i,a,b) for(int i=a;i<b;++i)
#define N 100000
using namespace std;
bool c[N];
vector<int>out[N];
void dfs(int v){
c[v]=true;
fr(i,0,out[v].size()) if(!c[out[v][i]])dfs(out[v][i]);
}
int main(){
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int n,m,a,b,s=0;
scanf("%i%i",&n,&m);
fr(i,0,m){
scanf("%i%i",&a,&b);--a;--b;
out[a].push_back(b);out[b].push_back(a);
}
fr(i,0,n) if(!c[i]){++s;dfs(i);}
printf("%i\n",s);
return 0;
}