Pagini recente » Cod sursa (job #405234) | Cod sursa (job #2775336) | Cod sursa (job #767322) | Cod sursa (job #2400399) | Cod sursa (job #500503)
Cod sursa(job #500503)
#include <vector>
#include <stdio.h>
#include <string.h>
#define pb push_back
using namespace std;
vector <int> L[100001];
int n, m, i, x, y, nrc;
bool sel[100001];
void dfs(int x){
vector <int> :: iterator it;
sel[x]=true;
for(it=L[x].begin(); it!=L[x].end();it++)
if (!sel[*it])
dfs(*it);
}
void load(){
scanf("%d %d\n", &n, &m);
for (i=1; i<= m; i++){
scanf("%d %d\n",&x, &y);
L[x].pb(y);
L[y].pb(x);
}
return;
}
int main(){
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
load();
memset(sel, false, sizeof(sel));
nrc=0;
for (i=1; i<=n; i++)
if (!sel[i]){
nrc++;
dfs(i);
}
printf("%d\n", nrc);
return 0;
}