Pagini recente » Cod sursa (job #2239914) | Cod sursa (job #725283) | Cod sursa (job #1223592) | Cod sursa (job #1255194) | Cod sursa (job #237504)
Cod sursa(job #237504)
#include<stdio.h>
#include<vector>
#include<deque>
#define N 100001
using namespace std;
vector <int> a[N];
deque <int> Q;
int fol[N],q[N],n,m,nr;
void citire(){
int i,x,y;
scanf("%d %d",&n,&m);
for (i=1;i<=m;i++){
scanf("%d %d",&x,&y);
a[x].push_back(y);
a[y].push_back(x);
}
}
void bf(int w){
int j,x;
Q.push_back(w);
fol[w]=1;
while (Q.size()!=0){
x=Q[0];
for (j=0;j<a[x].size();j++)
if (!fol[a[x][j]]){
fol[a[x][j]]=1;
Q.push_back(a[x][j]);
}
Q.pop_front();
}
}
int main(){
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
citire();
for (int i=1;i<=n;i++)
if (!fol[i])
bf(i),nr++;
printf("%d\n",nr);
return 0;
}