Pagini recente » Cod sursa (job #1446817) | Cod sursa (job #644537) | Cod sursa (job #569549) | Cod sursa (job #2286967) | Cod sursa (job #1944525)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
const int NMAX=100000;
vector<int> G[NMAX+5];
int n;
vector<int> viz;
const int WHITE=0;
void DFS(int u,int cc){
viz[u]=cc;
for (unsigned int j=0;j<G[u].size();j++){
int v=G[u][j];
if (viz[v]==WHITE){
DFS(v,cc);
}
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int n,m,u,v,cc=0;
scanf("%d%d",&n,&m);
for (int i=0;i<m;i++){
scanf("%d%d",&u,&v);
G[u].push_back(v); G[v].push_back(u);
}
viz.assign(n+1,WHITE);
for (int i=0;i<n;i++){
if (viz[i]==WHITE){
cc++;
DFS(i,cc);
}
}
printf("%d",cc);
return 0;
}