Pagini recente » Cod sursa (job #410954) | Cod sursa (job #785781) | Cod sursa (job #1863813) | Cod sursa (job #2564911) | Cod sursa (job #701103)
Cod sursa(job #701103)
#include<cstdio>
#include<vector>
#define L 100005
int F[L];
std :: vector <int> A[L];
std :: vector <int> :: iterator it;
int N,M;
void read(){
scanf("%d%d",&N,&M);
int x,y;
for(int i=1;i<=M;i++){
scanf("%d%d",&x,&y);
A[x].push_back(y);
A[y].push_back(x);
}
}
void df(int nod){
F[nod]++;
std :: vector <int> :: iterator it;
for(it = A[nod].begin(); it < A[nod].end(); it++)
if(!F[*it])
df(*it);
}
void solve(){
int componente = 0;
for(int i = 1; i <= N; i++)
if(!F[i]){
df(i);
componente++;
}
printf("%d",componente);
}
int main(){
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
read();
solve();
return 0;
}