Pagini recente » Cod sursa (job #2583355) | Cod sursa (job #2367652) | Cod sursa (job #874410) | Cod sursa (job #403534) | Cod sursa (job #150291)
Cod sursa(job #150291)
//#include "stdafx.h"
#include "cstdio"
#include "vector"
#define fin "dfs.in"
#define fout "dfs.out"
#define nM 100005
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=1;i<=n;i++)
if (!t[i])
{
dfs(i);
nr++;
}
freopen(fout,"w",stdout);
printf("%d",nr);
fclose(stdout);
return 0;
}