Pagini recente » Cod sursa (job #3244677) | Cod sursa (job #429933) | Cod sursa (job #1744469) | Cod sursa (job #297639) | Cod sursa (job #526519)
Cod sursa(job #526519)
#include <cstdio>
#include <vector>
using namespace std;
#define file_in "dfs.in"
#define file_out "dfs.out"
int N,M;
int A,B;
int i,ans;
vector<int> G[101000];
int viz[101000];
void dfs(int nod){
vector<int> :: iterator it;
viz[nod]=1;
for (it=G[nod].begin();it!=G[nod].end();++it)
if (!viz[*it])
dfs(*it);
}
int main(){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &N,&M);
while(M--){
scanf("%d %d", &A, &B);
G[A].push_back(B);
G[B].push_back(A);
}
for (i=1;i<=N;++i)
if (!viz[i]){
ans++;
dfs(i);
}
printf("%d\n", ans);
return 0;
}