Pagini recente » Cod sursa (job #400281) | Cod sursa (job #345584) | Cod sursa (job #916373) | Cod sursa (job #2657017) | Cod sursa (job #500519)
Cod sursa(job #500519)
#include <stdio.h>
#include <vector>
#include <stdlib.h>
#include <string.h>
using namespace std;
vector <int> l[100001];
int n,m,i,j,x,y,nr;
bool sel[100001];
void df(int x) {
vector <int> :: iterator it;
sel[x]=true;
for (it=l[x].begin(); it!=l[x].end(); it++)
if (!sel[*it]) {
df(*it);
}
}
int main () {
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d%d",&n,&m);
for (i=1; i<=m; i++) {
scanf("%d%d",&x,&y);
l[x].push_back(y);
l[y].push_back(x);
}
memset(sel,false,sizeof(sel));
nr=0;
for (i=1; i<=n; i++)
if (!sel[i]) {
nr++;
df(i);
}
printf("%d\n",nr);
return 0;
}