Pagini recente » Cod sursa (job #2716574) | Cod sursa (job #2082426) | Cod sursa (job #3249063) | Cod sursa (job #177270) | Cod sursa (job #150280)
Cod sursa(job #150280)
//#include "stdafx.h"
#include "cstdio"
#include "vector"
#define fin "dfs.in"
#define fout "dfs.out"
#define nM 100000
using namespace std;
int n,m,nr=0,t[nM];
vector<int> graf[nM];
void citire()
{
freopen(fin,"r",stdin);
scanf("%d %d",&n,&m);
for (int i=0;i<m;i++)
{
int x,y;
scanf("%d %d",&x,&y);
graf[x].push_back(y);
graf[y].push_back(x);
}
fclose(stdin);
}
void dfs(int x)
{
for (vector<int>::iterator it = graf[x].begin(); it != graf[x].end(); it++)
if (!t[*it])
{
t[*it]=1;
dfs(*it);
}
}
int main()
{
citire();
for (int i=0;i<n;i++)
if (!t[i])
{
dfs(i);
nr++;
}
freopen(fout,"w",stdout);
printf("%d\n",nr);
fclose(stdout);
return 0;
}