Pagini recente » Cod sursa (job #1904848) | Cod sursa (job #3040836) | Cod sursa (job #2097653) | Cod sursa (job #932479) | Cod sursa (job #757528)
Cod sursa(job #757528)
#include<cstdio>
#include<iostream>
#include<vector>
using namespace std;
#define maxn 100000
#define maxm 1000000
vector <int> Vecini[maxn];
int N, M;
bool sel[maxn] ;
void df(int nod)
{
sel[nod] = true ;
for(size_t i=0;i<Vecini[nod].size();++i)
{
if( sel[ Vecini[nod][i] ] == false)
{
sel[ Vecini[nod][i] ] = true ;
df( Vecini[nod][i] ) ;
}
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d%d",&N,&M);
for(int i=1;i<=M;++i)
{
int a,b ;
scanf("%d %d", &a, &b);
Vecini[a].push_back(b);
Vecini[b].push_back(a);
}
int nr = 0 ;
for(int i=1;i<=N;++i)
{
if( sel[i] == false )
{
df(i) ;
++ nr ;
}
}
printf("%d\n",nr);
return 0 ;
}