Pagini recente » Profil CostinJ | Monitorul de evaluare | Istoria paginii runda/001. | Rating Demian Catalin Ionut (DemianAKACatalin) | Cod sursa (job #1628044)
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
vector<int> graf[100000];
bool vizitat[100000];
void visit(int nod)
{
vizitat[nod]=true;
vector<int>::iterator it;
for(it=graf[nod].begin(); it!=graf[nod].end(); it++)
if(!vizitat[*it])
visit(*it);
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int n,m,c=0;//n- noduri, m- muchii
scanf("%d%d",&n,&m);
for(int i=0; i<m; i++)
{
int nod,muchie;
scanf("%d%d",&nod,&muchie);
graf[nod].push_back(muchie);
graf[muchie].push_back(nod);
}
for(int i=1; i<=n; i++)
if(!vizitat[i])
{
visit(i);
c++;
}
printf("%d",c);
}